GKGameSession无法使用特定帐户

时间:2017-03-27 07:49:17

标签: xcode icloud game-center gamekit gkgamesession

我正在尝试使用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文件出错,我猜想与此帐户关联的某些数据已损坏或是什么?

我一直在拔头发,所以任何帮助都会很棒。

由于

0 个答案:

没有答案