每当我尝试使用以下代码查看游戏中心排行榜 ion OS X 时:
GKGameCenterViewController *gameCenterController
= [[GKGameCenterViewController alloc]init];
gameCenterController.gameCenterDelegate = self;
if (gameCenterController !=nil) {
GKDialogController *sdc =[GKDialogController sharedDialogController];
gameCenterController.viewState = GKGameCenterViewControllerStateLeaderboards;
sdc.parentWindow = [NSApp mainWindow];
[sdc presentViewController:gameCenterController];
}
(这几乎是苹果文档的精确副本)
我得到一个:
*** void assertRunningOnAppKitThread()() 中的断言失败,/SourceCache/ViewBridge/ViewBridge-99/ViewBridgeUtilities.m:535 引发未在 AppKit(主)线程上运行的未捕获异常
该方法通过单击菜单项来调用。我尝试将方法包装在 dispatch_sync(dispatch_get_main_queue() 块中,但没有成功。
编辑:添加了堆栈跟踪: - 似乎它从主线程(菜单单击)开始,Game Center 本身开始一个新队列。?
我错过了什么?有任何想法吗?