GKGameSession не работает с определенной учетной записью
Я пытаюсь сделать простое приложение, используя GameKit GKGameSession
выпущен с iOS 10. По большей части все работает нормально, однако с одним из моих тестовых аккаунтов я могу создать сеанс, используя GKGameSession.createSessionInContainer:
, но выборка сеансов вызывает ошибку, возвращаемую в обработчике завершения, говорящую "Не удалось связаться с вспомогательным приложением".
Код работает с моей учетной записью разработчика, а также с учетной записью не разработчика на моем телефоне друзей, однако на моей обычной учетной записи iCloud (которая также использовалась для разработки в прошлом) он продолжает получать эту ошибку всякий раз, когда я звоню:
-GKGameSession.loadSessionWithIdentifier
-GKGameSession.loadSessionInContainer
Я проверил журналы устройства, и кажется, что есть сбой в gamed
Framework (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
при сериализации файла я предполагаю, что некоторые данные, связанные с этой учетной записью, повреждены или что-то в этом роде?
Я выдернул волосы над этим, так что любая помощь будет отличной.
Спасибо