我们正在测试我们的游戏应用程序中的Everyplay和FaceCam录制(仅限风景,iOS 9.1,在iPhone 5S和iPad 2上进行测试)并且它只能运行一次。要停止录制,请致电:
[[[EveryplaysharedInstance] capture] stopRecording]
停止录制并调用委托方法everyplayRecordingStopped
。由于委托方法everyplayFaceCamSessionStopped
也被调用,因此自动停止FaceCam会话。现在我们通过调用
[[EveryplaysharedInstance] playLastRecording]
显示Everyplay的预览窗口,一切似乎都很好。现在关闭此窗口时,app会在调用委托方法“everyplayHidden”之前崩溃。有什么想法吗?
堆栈跟踪(控制台中的bt输出):
* thread #1: tid = 0x89fa, 0x0000000198f9aba0 libsystem_c.dylib`strcasestr_l + 132, queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS (code=1, address=0x0)
frame #0: 0x0000000198f9aba0 libsystem_c.dylib`strcasestr_l + 132
frame #1: 0x00000001014e6d8c Project`epgles_checkExtensions + 456
frame #2: 0x00000001014dcbf0 Project`-[EveryplayFaceCamConnectionGlEs initWithParentContext:andDelegate:] + 344
frame #3: 0x00000001014dad08 Project`-[EveryplayFaceCam startSession] + 824
frame #4: 0x00000001014aaf08 Project`-[Everyplay handleFaceCamOnEveryplayShown:] + 244
frame #5: 0x00000001014aadd4 Project`-[Everyplay setEveryplayHidden] + 220
frame #6: 0x00000001014ab7a8 Project`-[Everyplay hideEveryplay] + 72
frame #7: 0x000000010153bfc0 Project`__39-[EveryplayVideoEditorView closeEditor]_block_invoke + 644
frame #8: 0x0000000102e49ca8 libdispatch.dylib`_dispatch_call_block_and_release + 24
frame #9: 0x0000000102e49c68 libdispatch.dylib`_dispatch_client_callout + 16
frame #10: 0x0000000102e4f710 libdispatch.dylib`_dispatch_main_queue_callback_4CF + 2096
frame #11: 0x0000000183c101f8 CoreFoundation`__CFRUNLOOP_IS_SERVICING_THE_MAIN_DISPATCH_QUEUE__ + 12
frame #12: 0x0000000183c0e060 CoreFoundation`__CFRunLoopRun + 1628
frame #13: 0x0000000183b3cca0 CoreFoundation`CFRunLoopRunSpecific + 384
frame #14: 0x000000018ed78088 GraphicsServices`GSEventRunModal + 180
frame #15: 0x0000000189254ffc UIKit`UIApplicationMain + 204
* frame #16: 0x00000001011215f0 Project`main(argc=1, argv=0x000000016fd07a80) + 152 at main.m:39
frame #17: 0x0000000198f6a8b8 libdyld.dylib`start + 4
这是崩溃日志的输出(不是主线程崩溃的那个):
Thread 0 name: Dispatch queue: com.apple.main-thread
Thread 0:
0 libsystem_c.dylib 0x0000000198f9aba0 strcasestr_l + 132
1 libsystem_c.dylib 0x0000000198f9ab9c strcasestr_l + 128
2 Project 0x0000000101446c5c epgles_checkExtensions + 456
3 Project 0x000000010143cac0 -[EveryplayFaceCamConnectionGlEs initWithParentContext:andDelegate:] + 344
4 Project 0x000000010143abd8 -[EveryplayFaceCam startSession] + 824
5 Project 0x000000010140add8 -[Everyplay handleFaceCamOnEveryplayShown:] + 244
6 Project 0x000000010140aca4 -[Everyplay setEveryplayHidden] + 220
7 Project 0x000000010140b678 -[Everyplay hideEveryplay] + 72
8 Project 0x000000010149be90 __39-[EveryplayVideoEditorView closeEditor]_block_invoke + 644
9 libdispatch.dylib 0x0000000198f396e8 _dispatch_call_block_and_release + 24
10 libdispatch.dylib 0x0000000198f396a8 _dispatch_client_callout + 16
11 libdispatch.dylib 0x0000000198f3edb0 _dispatch_main_queue_callback_4CF + 1844
12 CoreFoundation 0x0000000183c101f8 __CFRUNLOOP_IS_SERVICING_THE_MAIN_DISPATCH_QUEUE__ + 12
13 CoreFoundation 0x0000000183c0e060 __CFRunLoopRun + 1628
14 CoreFoundation 0x0000000183b3cca0 CFRunLoopRunSpecific + 384
15 GraphicsServices 0x000000018ed78088 GSEventRunModal + 180
16 UIKit 0x0000000189254ffc UIApplicationMain + 204
17 Project 0x00000001010814bc main (main.m:39)
18 libdyld.dylib 0x0000000198f6a8b8 start + 4
Thread 1 name: Dispatch queue: com.apple.libdispatch-manager
Thread 1 Crashed:
0 libsystem_kernel.dylib 0x00000001990884fc kevent_qos + 8
1 libdispatch.dylib 0x0000000198f4ca04 _dispatch_mgr_invoke + 232
2 libdispatch.dylib 0x0000000198f3b874 _dispatch_source_invoke + 0
答案 0 :(得分:1)
如果您的方向处理未正确实施,有时可能会发生崩溃。通常在这个线程上实现的东西帮助了Does Everyplay support Landscape in iOS6?