У меня есть приложение unity3d с интегрированным TokBox для обмена экранами с веб-интерфейсом.Проблема в том, что когда я запускаю общий экран, возникает следующая ошибка:
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 из единицы и передал Unity View из UnityGetGLViewController ().Я не являюсь разработчиком iOS, поэтому не знаю, как правильно решить эту проблему.Я понял, что проблема возникает из-за следующего кода:
dispatch_source_set_event_handler(_timer, ^{
@autoreleasepool {
__block UIImage* screen = [_self screenshot];
CGImageRef paddedScreen = [self resizeAndPadImage:screen];
[_self consumeFrame:paddedScreen];
}
});
, который периодически вызывается, чтобы сделать снимок экрана и передать его.Ошибка исчезнет, если я отключу проверку основного потока в разделе «Диагностика» при редактировании схемы в Xcode.Кроме того, я провел это тестирование на симуляторе и, следовательно, не уверен, что произойдет на реальном устройстве.
Любая помощь в исправлении этой проблемы правильным способом.