我使用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)
}
})
}发布于 2021-03-03 19:03:45
请尝试使用stopCapture。
由于苹果的安全措施,ReplayKit是我们用iOS进行屏幕录制的唯一方式,但这也意味着对它的控制有限。如果你仍然有问题,最好的ReplayKit问题的地方是apple's developer forum。
https://stackoverflow.com/questions/66333538
复制相似问题