问题
Each time I deploy a new build to testers, games from an older build are no longer available. As a test, I installed build 63 (numbered by agvtool
) on one device and 64 on another. I invited from 64. 63 saw nothing (neither a Game Center invite, or when using the GKTurnBasedMatchmakerViewController
). So I installed 64, and the invite showed up.
I am using a script to build (using xcodebuild
to make an archive, and then ZIPping up a .ipa), though it's the same script each time.
I haven’t seen any documentation that mentions this, and it makes me worry about making updates once the game is in the App Store.
Everything behaves fine if two devices have the same build. (And it doesn't seem to be the same problem if I build from Xcode and have it copy to an attached device — these aren't Archive builds though.) This makes me think it is not a provisioning issue (since the same profile is used all the time).
回答1:
Looks like the problem was because I was changing CFBundleVersion. This is apparently an undocumented compatibility indicator for Game Center: https://devforums.apple.com/message/690974
来源:https://stackoverflow.com/questions/12220500/different-builds-of-turn-based-game-center-game-can-t-see-each-other-s-matches