我正在尝试使用iOS 10发布的GameKit GKGameSession
创建一个简单的应用程序。大多数情况下一切正常,但是对于我的一个测试帐户,我可以使用GKGameSession.createSessionInContainer:
创建一个会话,但是获取会话会导致在完成处理程序中返回错误,指出“无法与帮助应用程序通信”。
代码适用于我的开发者帐户,也适用于朋友手机上的非开发者帐户,但是在我的普通iCloud帐户(过去也用于开发)中,每当我致电时,它都会出现此错误:< / p>
- GKGameSession.loadSessionWithIdentifier
- GKGameSession.loadSessionInContainer
我检查了设备日志,看来gamed
框架中出现了崩溃(GameKit来自我的理解)。堆栈跟踪中没有应用程序功能,它都是Apple代码,所以它看起来像一个后台GameKit服务崩溃。导致崩溃的行是NSPropertyListSerialization.propertyListWithData:options:format:error:
,它会抛出异常并调用abort()
。
回溯如下:
Incident Identifier: 8752E0F1-3FD4-45FC-93DA-3ED9E873FC9E
CrashReporter Key: 364113fe5ed8ba263006d41287924aedcb897647
Hardware Model: iPhone8,2
Process: gamed [1399]
Path: /usr/libexec/gamed
Identifier: gamed
Version: ???
Code Type: ARM-64 (Native)
Role: Unspecified
Parent Process: launchd [1]
Coalition: <none> [265]
Date/Time: 2017-03-27 07:30:55.8324 +0100
Launch Time: 2017-03-26 23:49:39.2894 +0100
OS Version: iPhone OS 10.2.1 (14D27)
Report Version: 104
Exception Type: EXC_CRASH (SIGABRT)
Exception Codes: 0x0000000000000000, 0x0000000000000000
Exception Note: EXC_CORPSE_NOTIFY
Triggered by Thread: 0
Application Specific Information:
abort() called
Filtered syslog:
None found
Last Exception Backtrace:
0 CoreFoundation 0x184d491b8 __exceptionPreprocess + 124
1 libobjc.A.dylib 0x18378055c objc_exception_throw + 56
2 CoreFoundation 0x184d49100 +[NSException raise:format:] + 116
3 Foundation 0x18577b2b0 +[NSPropertyListSerialization propertyListWithData:options:format:error:] + 76
4 gamed 0x1000c7cac 0x100014000 + 736428
5 gamed 0x1000cfa90 0x100014000 + 768656
6 gamed 0x1000c8190 0x100014000 + 737680
7 gamed 0x1000cdb6c 0x100014000 + 760684
8 gamed 0x1000d4428 0x100014000 + 787496
9 gamed 0x1000e17b4 0x100014000 + 841652
10 libdispatch.dylib 0x183bd21fc _dispatch_call_block_and_release + 24
11 libdispatch.dylib 0x183bd21bc _dispatch_client_callout + 16
12 libdispatch.dylib 0x183bd6d68 _dispatch_main_queue_callback_4CF + 1000
13 CoreFoundation 0x184cf6810 __CFRUNLOOP_IS_SERVICING_THE_MAIN_DISPATCH_QUEUE__ + 12
14 CoreFoundation 0x184cf43fc __CFRunLoopRun + 1660
15 CoreFoundation 0x184c222b8 CFRunLoopRunSpecific + 444
16 Foundation 0x18575f26c -[NSRunLoop(NSRunLoop) runMode:beforeDate:] + 304
17 Foundation 0x1857b3aa0 -[NSRunLoop(NSRunLoop) run] + 88
18 gamed 0x100018bdc 0x100014000 + 19420
19 libdyld.dylib 0x183c055b8 start + 4
我尝试在不同的设备上使用相同的帐户,注销,硬重置,擦除设备不同的iCloud容器,重置iCloud容器并发布到实时和尝试实时构建但似乎问题是这个特定的iCloud帐户。
我还制作了一个新项目,并在GKGameSession.loadSessionWithIdentifier:
上进行了viewDidLoad()
来电,但结果每次都是相同的。
如果序列化的.plist
文件出错,我猜想与此帐户关联的某些数据已损坏或是什么?
我一直在拔头发,所以任何帮助都会很棒。
由于