我创建了一个以编程方式使用实时多人游戏的游戏。它最初是针对 iOS 8 设备的。最近迁移到IOS 9后,Game Center引起了很多问题。我无法解决的主要问题是在多人游戏中邀请朋友(用于测试)。
从IOS 8到IOS 8。自动匹配工作和朋友邀请工作 但从 IOS 9 到 IOS 9。自动匹配功能和好友邀请功能不再起作用。
如果你们中有人成功地使 Game Center 邀请在 IOS 9 上运行。请引导我走上正确的道路。
我目前所知道的:
更新 - 2015 年 9 月 10 日 他们关闭了 IOS 8 的沙箱后。IOS8 和 IOS9 之间的自动匹配功能开始工作。但这位朋友似乎仍然是一个问题。这位朋友也不再在 IOS 8 上为我工作了。
Game Center 回调似乎在不同的线程上运行,并且有 80% 的可能性导致连接崩溃。解决办法是在主线程运行代码,就解决了。但线程问题并没有解决朋友的问题。
尝试根据好友请求开始匹配后,会抛出如下错误:
Error Domain=GKErrorDomain
Code=3
"The requested operation could not be completed due to an error communicating with the server."
UserInfo={
GKServerStatusCode=5096,
NSLocalizedDescription=The requested operation could not be completed due to an error communicating with the server.,
NSUnderlyingError=0x136e23230 {
Error Domain=GKServerErrorDomain
Code=5096
"Peer device (type: iPad) does not support a game compatible with: unknown:com.xxx.xxx:x:x.x"
UserInfo={
GKServerStatusCode=5096,
NSLocalizedFailureReason=Peer device (type: iPad) does not support a game compatible with:
unknown:com.xxx.xxx:1:x.x
}
}
}
根据我最近的经验,是的,它目前已损坏或至少存在严重问题。通过 Game Center 创建新比赛仅在某些时候有效。我还收到 code=3 错误。然而,它有时对我来说确实有效。 (对我来说)看来,当 1)我在发送第一轮比赛后没有收到错误并且 2)我能够加载 matchData 并且它是正确的数据时,新的比赛已成功创建和交付。