首页 > 解决方案 > 如何检测 RPSystemBroadcastPickerView 何时被解除?

问题描述

在应用程序中,我使用 aRPSystemBroadcastPickerView开始系统范围的屏幕录制。我需要对用户开始屏幕记录或关闭显示的选择器视图做出反应。在这两种情况下,系统视图都会被忽略。

我假设关闭系统选择器视图将viewDidAppear在当前显示的视图控制器上触发一个事件。这不会发生。我尝试测试是否AppDelegate触发applicationDidBecomeActiveapplicationWillEnterForeground- 再次没有成功(这是在用户打开控制中心时触发的)。

有没有人建议还有什么可以尝试的?

标签: iosswiftreplaykitrpsystembroadcastpickerview

解决方案


Timer您可以使用and间接实现它UserDefaults

从主应用程序启动Timerin ViewController 并检查相应的值更改Broadcast Extension

 class SampleHandler: RPBroadcastSampleHandler {

    override func broadcastStarted(withSetupInfo setupInfo: [String : NSObject]?) {
       appGroupDefaults.set(true, forKey: appGroupUserDefaultKeys.isScreenBroadcastStarted.rawValue)
    }

    override func broadcastFinished() {
       appGroupDefaults.set(true, forKey: appGroupUserDefaultKeys.isScreenBroadcastStopped.rawValue)
    }
    
 }

推荐阅读