Ok… so here’s the scoop.
For reference sake below, my bundle ID for my iOS game is com.mycompany.myapp and the one for my OSX game is com.mycompany.myapp.osx.
I’ve updated my build.settings to coorespond with how you have it set up in the Cannons project. In the “iphone” part, I have “iCloud = true”. Then, I added this for the osx part…
osx = { iCloud = { ['kvstore-identifier'] = 'com.mycompany.myapp' } },
When I build for OSX using the “Open Application” command in the build dialog, watching the console produces this:
NSUbiquitousKeyValueStore error: com.mycompany.myapp.osx does not have a valid com.apple.developer.ubiquity-kvstore-identifier entitlement
Inside the app though, with iCloud sync enabled and apparently running, it’s working… I can clear out settings and then turn iCloud sync back on inside my game (I have an option to turn it on or off in the game). After I’ve cleared out the game settings/cache and checked it, there is no progress saved. Then, when iCloud sync is turned back on, it updates from iCloud. What this indicates to me is that it’s pulling from *somewhere*, but not my com.mycompany.myapp bundle ID (my iOS version of the game)…
Is this simply due to the fact that I’m not getting my game legitimately from the Mac App Store, but from a local developer build? You’d mentioned earlier that the app needs to formally come from the Mac App Store to be able to have iCloud work. However, in my testing here it does appear to be working, but just not pulling from the iOS KVS store that I’m wanting to pull from. It seems to be pulling from only the OSX store…
And then there’s that strange “NSUbiquitousKeyValueStore” error too that I’m getting…