Интеграция iOS Everyplay: вызов "showEveryplay" приводит к сбою

Мы используем Everyplay в нашей игре для записи, и она, кажется, работает правильно, но, например, при вызове следующей строки наше приложение вылетает:

[[EveryplaysharedInstance] showEveryplay]

Тестирование на iOS 9.1, iPhone 5S. Авария происходит независимо от того, вызываем ли мы ее сами в нашем пользовательском интерфейсе или нажимаем кнопку Everyplay в окне предварительного просмотра Everyplay (отображается при вызове [[EveryplaysharedInstance] playLastRecording]). При закрытии окна предварительного просмотра Everyplay происходит другое падение.

  • Все рамки добавлены.

  • Инициализация выполняется в методе viewDidLoad нашего контроллера просмотра:

    [EveryplayinitWithDelegate: self и ParentViewController:self]

  • Методы EveryplayDelegate вызываются, как и ожидалось. Незадолго до крушения everyplayShown Метод делегата вызывается.

Были ли у вас похожие проблемы? Есть идеи где искать?

Любая помощь приветствуется!

РЕДАКТИРОВАТЬ: Добавлена ​​трассировка стека и журнал сбоев!

Трассировка стека (вывод bt в консоль):

* thread #1: tid = 0x1faed, 0x00000001993bf140 libsystem_kernel.dylib`__pthread_kill + 8, queue = 'com.apple.main-thread', stop reason = signal SIGABRT
frame #0: 0x00000001993bf140 libsystem_kernel.dylib`__pthread_kill + 8
frame #1: 0x0000000199488ef8 libsystem_pthread.dylib`pthread_kill + 112
frame #2: 0x0000000199332b78 libsystem_c.dylib`abort + 140
frame #3: 0x00000001012f9490 Project`uncaught_exception_handler + 36
frame #4: 0x0000000183f912d0 CoreFoundation`__handleUncaughtException + 652
frame #5: 0x0000000198a5423c libobjc.A.dylib`_objc_terminate() + 112
frame #6: 0x00000001980f6f44 libc++abi.dylib`std::__terminate(void (*)()) + 16
frame #7: 0x00000001980f685c libc++abi.dylib`__cxa_throw + 136
frame #8: 0x0000000198a54094 libobjc.A.dylib`objc_exception_throw + 332
frame #9: 0x0000000188d6b8bc QuartzCore`CA::Display::DisplayLinkItem::dispatch() + 164
frame #10: 0x0000000188d6b6f4 QuartzCore`CA::Display::DisplayLink::dispatch_items(unsigned long long, unsigned long long, unsigned long long) + 424
frame #11: 0x000000018522a2f8 IOKit`IODispatchCalloutFromCFMessage + 372
frame #12: 0x0000000183f32840 CoreFoundation`__CFMachPortPerform + 180
frame #13: 0x0000000183f48c7c CoreFoundation`__CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE1_PERFORM_FUNCTION__ + 56
frame #14: 0x0000000183f483b4 CoreFoundation`__CFRunLoopDoSource1 + 436
frame #15: 0x0000000183f4610c CoreFoundation`__CFRunLoopRun + 1800
frame #16: 0x0000000183e74ca0 CoreFoundation`CFRunLoopRunSpecific + 384
frame #17: 0x000000018f0b0088 GraphicsServices`GSEventRunModal + 180
frame #18: 0x000000018958cffc UIKit`UIApplicationMain + 204
frame #19: 0x000000010102d568 Project`main(argc=1, argv=0x000000016fdfba80) + 152 at main.m:39
frame #20: 0x00000001992a28b8 libdyld.dylib`start + 4

Журнал сбоев из XCode:

    Last Exception Backtrace:
0   CoreFoundation                  0x183c58f48 __exceptionPreprocess + 124
1   libobjc.A.dylib                 0x19871bf80 objc_exception_throw + 56
2   CoreFoundation                  0x183c58e90 +[NSException raise:format:] + 120
3   UIKit                           0x18926456c -[UIViewController __supportedInterfaceOrientations] + 912
4   UIKit                           0x189263efc -[UIViewController _preferredInterfaceOrientationGivenStatusBarAndDeviceAndOrientation:] + 96
5   UIKit                           0x18956e9e8 -[UIViewController _legacyInterfaceOrientation] + 652
6   Project                         0x10146cc30 -[EveryplayNavigationViewController loadView] + 88
7   UIKit                           0x1891ebd44 -[UIViewController loadViewIfRequired] + 144
8   UIKit                           0x1891ebc9c -[UIViewController view] + 28
9   Project                         0x10146c850 -[EveryplayNavigationViewController initWithOverlayNavigationBar:] + 164
10  Project                         0x101489f50 -[EveryplaySocialViewController initWithOverlayNavigationBar:] + 56
11  Project                         0x101424330 __34-[Everyplay showEveryplayWithURL:]_block_invoke + 432
12  Project                         0x10144ec54 +[EveryplayCommon runInMainThread:] + 64
13  Project                         0x101424154 -[Everyplay showEveryplayWithURL:] + 136
14  Project                         0x101424090 -[Everyplay showEveryplayWithPathInternal:] + 384
15  Project                         0x101423074 -[Everyplay showEveryplayWithPath:] + 192
16  Project                         0x101422f98 -[Everyplay showEveryplay] + 108
17  Project                         0x100268700 -[GameViewController notificationHandler:] (GameViewController.mm:577)

Хорошо после просмотра вышеупомянутого журнала сбоев это имело отношение к обработке ориентации устройства в связи с Everyplay. В нашу игру играют только в пейзаже, поэтому я подумал, что портретная ориентация тоже необходима. Добавление также двух портретных ориентаций в.plist решило проблему. Контроллер представления каждого в игре, похоже, нуждается в определении как таковом.

Не уверен, что могут возникнуть проблемы для других версий iOS, других устройств. Это похоже на взломать. Как вы думаете?

0 ответов

Другие вопросы по тегам