rpsystembroadcast -如何在iOS中终止应用程序时停止屏幕录制?



我正在使用Agora iOS SDK开发一个应用程序。这里我使用RPSystemBroadcastPickerView启动/停止屏幕共享,它工作得很好。

func prepareSystemBroadcaster() {
if #available(iOS 12.0, *) {
let frame = CGRect(x: 0, y:0, width: 60, height: 60)
let systemBroadcastPicker = RPSystemBroadcastPickerView(frame: frame)
systemBroadcastPicker.autoresizingMask = [.flexibleTopMargin, .flexibleRightMargin]
if let url = Bundle.main.url(forResource: "Agora-ScreenShare-Extension", withExtension: "appex", subdirectory: "PlugIns") {
if let bundle = Bundle(url: url) {
systemBroadcastPicker.preferredExtension = bundle.bundleIdentifier
}
}
broadcasterPickerContainer.addSubview(systemBroadcastPicker)
} else {
self.showAlert(message: "Minimum support iOS version is 12.0")
}

}

我的问题是,如果屏幕正在共享,当用户从后台终止应用程序时。如何在不点击红色条的情况下停止屏幕录制?
我在AppDelegate中尝试了下面的代码,但是无法找到任何解决方案。

func applicationWillTerminate(_ application: UIApplication) {
RPScreenRecorder.shared().stopRecording( handler: { error in
if let error = error {
print(error)
}
})
}

尝试使用stopCapture

由于苹果的安全措施,ReplayKit是我们在iOS上进行屏幕录制的唯一方法,但这也意味着对它的控制有限。如果你仍然有问题,最好的地方是苹果的开发者论坛。

相关内容

最新更新