ReplayKit RPSystemBroadcastPickerView не показывает предпочитаемое расширение - PullRequest
0 голосов
/ 13 сентября 2018

Я использую RPSystemBroadcastPickerView, чтобы показать окно выбора, из которого пользователь может выбрать широковещательную службу для записи экрана. На основании документации preferredExtension должен позволить мне указать, какое широковещательное расширение должно отображать средство выбора.

Код очень прост:

let broadcastPickerView = RPSystemBroadcastPickerView(frame: CGRect(x: 0, y: 0, width: 51, height: 51))
view.addSubview(broadcastPickerView)
broadcastPickerView.preferredExtension = "com.milan.nosal.broadcast-extension"
broadcastPickerView.backgroundColor = .clear
broadcastPickerView.showsMicrophoneButton = false

где "com.milan.nosal.broadcast-extension" - идентификатор пакета расширения, которое я хочу предложить сборщику (я проверял его правильность несколько раз).

Однако при нажатии на элемент управления сначала всплывающее окно показывает пустой выбор:

enter image description here

После того, как вы закроете его и снова коснитесь элемента управления, он показывает правильное расширение. Это происходит только тогда, когда приложение установлено (или переустановлено), после того, как оно отобразится, оно будет отображаться всегда.

Это бета-версия iOS 12 или я что-то делаю неправильно? Могу ли я «предварительно зарегистрировать» расширение, чтобы обойти это?

EDIT:

После публикации приложения мы столкнулись с той же проблемой с нашими пользователями, но на этот раз даже не многократное нажатие на элемент управления помогает - сборщик всегда пуст! Кажется, что расширение установлено правильно, потому что его можно запустить из центра управления.

Выпущен официальный релиз.

Ответы [ 4 ]

0 голосов
/ 26 апреля 2019

Вы можете точно найти свой preferedExtension здесь:

image

Когда вы добавите pickerView.preferredExtension точно Идентификатор пакета, ваше приложение будет отображаться в списке приложений для записи.Надеюсь, это поможет!

0 голосов
/ 15 октября 2018

У меня та же проблема, похоже, у Xcode есть некоторые проблемы, как установить broadcastExtension с вашим приложением.Для меня это относится только к режиму отладки.Чтобы увидеть правильный пользовательский интерфейс, попробуйте включить трансляцию один раз по-старому (центр управления -> глубокое касание -> начать трансляцию), после этого в своем BroadcastPickerView вы увидите правильный интерфейс (вы нажимаете iOS для обновления информации о расширении).Невозможно воспроизвести в режиме выпуска.

0 голосов
/ 12 апреля 2019

Я думаю, что это ошибка яблока, но она была исправлена ​​в iOS 12.2 после того, как я ее протестировал.

0 голосов
/ 14 сентября 2018

Если я не установлю «.preferredExtension», я вижу все расширения в списке.Я тестировал на iOS12 GM.

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