具有Unity3d的TokBox iOS插件-屏幕共享触发了主线程检查器错误

时间:2018-10-27 16:52:28

标签: unity3d tokbox

我有一个unity3d应用程序,该应用程序集成了TokBox,可以将屏幕共享到Web界面。问题是,当我触发屏幕共享时,会遇到以下错误:

Main Thread Checker: UI API called on a background thread: -[UIView bounds]
PID: 3555, TID: 109050, Thread name: (none), Queue name: SCREEN_CAPTURE, QoS: 0
Backtrace:
4   demo                         0x00000001043c6b07 -[OTScreenCapture screenshot] +

我正在统一调用本机ios函数,并已从UnityGetGLViewController()传递了Unity视图。我不是本地iOS开发人员,因此我不知道解决此问题的正确方法。我了解到,由于以下代码,导致了该问题的发生:

  dispatch_source_set_event_handler(_timer, ^{
        @autoreleasepool {
            __block UIImage* screen = [_self screenshot];
            CGImageRef paddedScreen = [self resizeAndPadImage:screen];
            [_self consumeFrame:paddedScreen];
        }
    });

,它被定期调用以捕获屏幕快照并将其发送出去。如果在Xcode中编辑方案时禁用“诊断”下的“主线程检查器”,则错误消失。 另外,我已经在模拟器上进行了此测试,因此不确定在实际设备上会发生什么。

感谢您以正确的方式帮助解决此问题。

0 个答案:

没有答案