func startRecording() {
let recorder = RPScreenRecorder.shared()
recorder.startRecording(withMicrophoneEnabled: false, handler: { (error) in
if let unwrappedError = error {
print(unwrappedError.localizedDescription)
} else {
self.videoRecButton.addTarget(self, action:#selector(self.stopRecording), for: .touchUpInside)
}
})
}
func stopRecording() {
let recorder = RPScreenRecorder.shared()
recorder.stopRecording { [unowned self] (preview, error) in self.navigationItem.rightBarButtonItem = UIBarButtonItem(title: "Start", style: .plain, target: self, action: #selector(self.startRecording))
if let unwrappedPreview = preview {
unwrappedPreview.previewControllerDelegate = self
self.present(unwrappedPreview, animated: true)
}
}
}
在recorder.startRecording()和recorder.stopRecording()上...它生成错误为"操作无法完成。 (com.apple.ReplayKit.RPRecordingErrorDomain error -5803。)"
我也没有获得权限弹出窗口。
答案 0 :(得分:0)
错误代码-5803表示RPRecordingErrorFailedToStart
(可以找到所有错误代码here)
这篇文章:https://stackoverflow.com/a/33627512/4063602
提到:
显然ReplayKit需要A7或A8处理器
要查看您是否可以在设备上使用ReplayKit,可以使用isAvailable
上的属性RPScreenRecorder
。正如the documentation中所述:
设置为true时,屏幕录像机可用于录制。由于硬件不受支持,用户的设备通过Airplay或TVOut会话或使用录像机的其他应用程序显示信息,因此屏幕录制不可用。
希望这有帮助。