2
 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 错误 -5803。)”

我也没有获得许可弹出窗口。

4

1 回答 1

2

错误代码-5803表示RPRecordingErrorFailedToStart(所有错误代码都可以在这里找到)

这篇文章:https ://stackoverflow.com/a/33627512/4063602

提到:

显然 ReplayKit 需要 A7 或 A8 处理器

要查看您是否能够在设备上使用 ReplayKit,您可以使用属性isAvailableon RPScreenRecorder。正如文档中所说:

设置为 true 时,屏幕录像机可用于录制。由于不支持的硬件、用户的设备通过 Airplay 或通过 TVOut 会话显示信息或使用记录器的其他应用程序,屏幕录制可能不可用。

希望这可以帮助。

于 2017-04-18T11:29:13.087 回答