У нас есть приложение WebRTC Swift 4.2, использующее собственный код Google WebRTC. У нас возникли проблемы с функцией многозадачности Apple Slide Over на iPad.
Выпуск:
То, что мы видим, - это когда наше приложение выполняет видеовызов на iPad, как только другое приложение «скользит», наше приложение перестает использовать видеокамеру и микрофон до тех пор, пока приложение слайдера не будет закрыто. После закрытия наше приложение возвращает микрофон и камеру.
Ожидаемый результат:
Наше приложение все еще может использовать камеру и микрофон, и пользователь может использовать оба приложения одновременно.
Вопросы:
Есть ли настройка, которую нам нужно включить, чтобы запретить приложения Slide Over? Если нет, есть ли событие, на которое мы можем подписаться, когда происходит сдвиг, чтобы мы могли снова запросить доступ к камере и микрофону?
Что мы сделали:
- Мы настроили наше приложение на полный экран в настройках проекта.
- Мы попытались подписаться на следующие события в AppDelegate:
applicationDidEnterBackground, applicationWillResignActive, applicationDidBecomeActive. Эти события запускаются один раз для начального слайд-приложения, открывающегося и закрывающегося, но не после последовательных слайдов с одним и тем же приложением.
- Включение всех возможностей фонового режима. Не имеет эффекта.
- В нашем ViewController.swift мы пытались подписаться на событие viewWillLayoutSubviews. Это событие не срабатывает для приложений, открытых с помощью Slide Over
Версии:
- iOS 11.4.1
- Swift 4.2
- Xcode 10.1