如何检测何时关闭RPSystemBroadcastPickerView?

时间:2018-12-11 10:51:12

标签: ios swift replaykit rpsystembroadcastpickerview

在该应用中,我正在使用RPSystemBroadcastPickerView来启动系统范围的屏幕录制。我需要对用户开始的屏幕记录做出反应,或者关闭显示的选择器视图。在这两种情况下,系统视图都被关闭。

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

有人建议不要尝试吗?

1 个答案:

答案 0 :(得分:-1)

您可以使用TimerUserDefaults间接实现它。

从主应用中的ViewController中启动Timer,然后检查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)
    }
    
 }