我正在开发一款使用 Game Center 的 iOS 多人游戏。
当用户登录游戏中心并点击“立即玩”时,GC 连接 4 名玩家并开始游戏。问题是游戏经常因为一些数据丢失而死机(我认为这是原因)。游戏通常运行良好,但有时服务器发送的数据(服务器是一些玩家)会丢失并且游戏冻结。
我使用这个函数来发送数据:
- (void)sendDataNSData *)data {
NSError *error;
BOOL success = [[GCHelper sharedInstance].match sendDataToAllPlayers:data withDataMode:GKMatchSendDataReliable errorerror];
if (!success) {
//NSLog(@"Error sending init packet");
[self matchEnded];
}
}
问题是 matchend 没有被调用,所以我相信数据已发送但它丢失了。
有没有人有类似的问题并知道如何解决?