iOSKit updates ?

Any updates on iOSKit ?

As mentioned on the forum IOS 11 introduced a lot of features that would be useful, specially the native pdf Save As function.

In the same time I have some issues with the pickers, it seems that randomly if you press on one fast or scroll to fast and then try to use the control starts to disappear, and then once one disappeared all of them one by one once they are touched they disappear.

I will try to make a video maybe I`m doing something wrong or something, or maybe there is a bug or something, last tests seeing that were on iOS 11.1

Thanks .

iOSKit is open source. That means if you have changes you want to see you can make a pull request to have them added!

Jason,
Using your great iOSKit I now have In App purchases and Game Kit working on the next version of my game. I am ready to add match chat, which you didn’t get working as of the last posting in Git Hub. Has anyone ever offered any suggestions as to what needs to be changed? I will let you know if I find anything.

What do you mean by match chat? If text chat just make a different data packet to send between games. If voice I think I had it working but had provisioning issues so I could build an app with it. But that was a long time ago. I haven’t looked at it in over a year. Please submit fixes/changes if they need to be made. Thanks

Jason,
I was taking about voice chat. You have a note in Git Hub under GameKitFolder.GameKitViews.StandardGame.Button2.Action saying, “//for some reason I can’t get this to work, if you manage to, please let me know where I went wrong so the example can be updated.”

In my testing the following is happening:
After establishing the match between two iOS devices and starting to play the game I hit my Start Chat button on each device. After about 7 seconds a banner appears on each device saying the remote player joined the chat. No audio is transmitted. After about 10-15 seconds a banner appears on each device saying that the remote player has left the chat.

Searching the Apple documentation and looking at your code I have found the following:
GKVoiceChat has an “isActive” property with Get and Set.
Your code Get references selector “isActive” but your code for Set references selector “setActive:” I don’t understand C++ enough to know if this is an issue.

Also, outside the scope of your iOSKit but I found the following:
“Important: As of iOS 10, all apps that access any of the device’s microphones must statically declare their intent to do so. To do this, apps must now include the NSMicrophoneUsageDescription key in their Info.plist file and provide a purpose string for this key. When the system prompts the user to allow access, this string is displayed as part of the alert.
If an app attempts to access any of the device’s microphones without this key and value present, the app will terminate.”
I have added this key to my info.plist but I never get asked to allow access.

[quote=358264:@C T Baumgartner]Searching the Apple documentation and looking at your code I have found the following:
GKVoiceChat has an “isActive” property with Get and Set.
Your code Get references selector “isActive” but your code for Set references selector “setActive:” I don’t understand C++ enough to know if this is an issue.[/quote]
This is correct, its a property so the getters and setters are weird.

[quote=358264:@C T Baumgartner]In my testing the following is happening:
After establishing the match between two iOS devices and starting to play the game I hit my Start Chat button on each device. After about 7 seconds a banner appears on each device saying the remote player joined the chat. No audio is transmitted. After about 10-15 seconds a banner appears on each device saying that the remote player has left the chat.[/quote]

This was the issue I was having. Never found a resolution and never needed to use it anyway, I was just trying to make GameKit available to make Xojo iOS mildly useful for games. Please do let me know if you find a resolution but I am not able to spend time working on it.

[quote=358264:@C T Baumgartner]Searching the Apple documentation and looking at your code I have found the following:
GKVoiceChat has an “isActive” property with Get and Set.
Your code Get references selector “isActive” but your code for Set references selector “setActive:” I don’t understand C++ enough to know if this is an issue.[/quote]

First the language is Objective-C, not C++.

On the Apple docs you first need to switch to Objective-C as the standard language shown is Swift. You will see the following entry:

[quote]Instance Property
active
A Boolean value that states whether the channel is sampling the microphone.
[…]

macOS @property(assign, getter=isActive, atomic) BOOL active;[/quote]

active is the name of the property.

The rules of Objective-C tell that this property has a getter named active and a setter named setActive:. But this getter was renamed to isActive (“getter=isActive”). So the declares are correct.