我正在使用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