Я использую 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"
- идентификатор пакета расширения, которое я хочу предложить сборщику (я проверял его правильность несколько раз).
Однако при нажатии на элемент управления сначала всплывающее окно показывает пустой выбор:
После того, как вы закроете его и снова коснитесь элемента управления, он показывает правильное расширение. Это происходит только тогда, когда приложение установлено (или переустановлено), после того, как оно отобразится, оно будет отображаться всегда.
Это бета-версия iOS 12 или я что-то делаю неправильно? Могу ли я «предварительно зарегистрировать» расширение, чтобы обойти это?
EDIT:
После публикации приложения мы столкнулись с той же проблемой с нашими пользователями, но на этот раз даже не многократное нажатие на элемент управления помогает - сборщик всегда пуст! Кажется, что расширение установлено правильно, потому что его можно запустить из центра управления.
Выпущен официальный релиз.