这让我发疯了。每当我尝试使用Game Center验证本地播放器时,我都会得到一个线程1 sigkill。在我设置localPlayer
的{{1}}后,它会异步发生:
authenticateHandler
有什么想法吗?
答案 0 :(得分:0)
我经常看到systemVersion使用字符串比较而不是数字比较进行测试。尝试只打印
的值[[[UIDevice currentDevice] systemVersion] floatValue]> = 6.0
验证该表达式没有任何问题。我知道以下方法有效:
-(BOOL) os6 {
NSString *targetSystemVersion = @"6.0";
NSString *currentSystemVersion = [[UIDevice currentDevice] systemVersion];
if ([currentSystemVersion compare:targetSystemVersion options:NSNumericSearch] == NSOrderedAscending) {
return NO; //current system version is less than 6.0
} else {
return YES;
}
}
答案 1 :(得分:0)
[GKLocalPlayer localPlayer]返回一个单例,__ weak会在某个时候释放它(我不明白何时会发生这种情况,但在将来的某个时间)。在块完成执行之前,localPlayer可能会与块一起被释放。没有必要释放单身人士。尝试删除__weak。
答案 2 :(得分:0)
尝试在__weak
之前加GKLocalPlayer
。
我在代码和我使用的代码之间可以看到唯一差异...