Airplay Screen Mirroring / Replaykit Альтернативы - PullRequest
0 голосов
/ 10 января 2019

Я разработал приложение для iOS в Swift, которое использует Airplay / зеркальное отображение экрана для генерации второго дисплея на внешнем экране, который представляет пользовательский интерфейс, отличный от локального экрана. Это очень хорошо работает с внешним адаптером дисплея или через Airplay на Apple TV. Он работает, обнаруживая изменения в UIScreen и создавая новое UIWindow и открывая новый ViewController в упомянутом окне. Ничего особенного, но идеально подходящего для моих нужд.

Одна из функций, которую я хотел добавить, - это какой-нибудь способ сделать iOS для потоковой передачи iOS, если у кого-то нет внешнего экрана / ATV. На первый взгляд не похоже, что есть зеркало Airplay для экрана на другом устройстве iOS, по крайней мере, я не нашел.

Я пытался использовать ReplayKit для достижения этой цели, но, к сожалению, ReplayKit, похоже, записывает только основное UIWindow, и я не смог создать хорошее виртуальное окно, которое не блокирует основной экран и не выводит канал ReplayKit надежно. Попытка поменять главное окно новым окном и скрыть его, но результаты там противоречивы.

Также изучено, как не использовать Airplay, а вместо этого передавать элементы данных, необходимые для второго дисплея, используя Multipeer Connectivity, и у приложения есть опция для перехода в режим «приемника». Этот вид работает, но также кажется глючным и склонным к проблемам с рассинхронизацией и добавляет большое количество служебных данных и дополнительного сетевого кода, который в противном случае мне не понадобился бы.

Нужно посмотреть, есть ли у кого-нибудь какие-либо идеи или предложения о том, как этого добиться, в идеале, используя UIScreen / Airplay и не используя решение на основе MPC. Открыта для любых идей.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...