Я пытаюсь реализовать расширение для широковещательной загрузки и хочу, чтобы пользователь мог нажать кнопку в моем приложении, чтобы остановить трансляцию.
Насколько я могу судить из документации, единственные способы остановить системную трансляцию:
- Показывать
RPSystemBroadcastPickerView
в приложении, когда пользователь нажимает на него, они попадают в пользовательский интерфейс системы и останавливают трансляцию там. - Сообщите широковещательному добавочному номеру об остановке другими способами и вызовите
finishBroadcastWithError
вRPBroadcastSampleHandler
, который покажет пользователю всплывающее окно с ошибкой. Кажется, что это уловка, которую использует Zoom.
Однако сегодня я пробовал использовать функцию совместного использования экрана в Facebook Messenger, и они каким-то образом обходят системный пользовательский интерфейс (только для остановки потока). Когда я нажимаю кнопку остановки, демонстрация экрана немедленно прекращается и не отображается ни системный интерфейс, ни всплывающее окно с ошибкой.
Как они это делают? Я предполагаю, что они каким-то образом получают действительный объект RPBroadcastController
, но я не могу понять, как это сделать.