此代码之前正在运行,但自从我更新到swift 3后,当我按下保存按钮时,屏幕录制不再保存在我的照片库中。当我按下保存按钮或取消按钮时,我也会在控制台中收到此错误消息。
[Common] _BSMachError:port 5a37; (os / kern)无效名称(0xf)“无法使用 解除分配发送权“
以下是我在屏幕录制结束时使用的代码,并显示了previewViewController:
internal func previewControllerDidFinish(_ previewViewController: RPPreviewViewController) {
previewViewController.dismiss(animated: true, completion: nil)
}
答案 0 :(得分:0)
//试试这段代码希望它有所帮助:
func startRecording(){ 让recorder = RPScreenRecorder.shared()
if #available(iOS 9.0, *) {
recorder.startRecording(withMicrophoneEnabled: true) { [unowned self] (error) in
if let unwrappedError = error {
print(unwrappedError.localizedDescription)
} else {
self.navigationItem.rightBarButtonItem = UIBarButtonItem(title: "Stop", style: .plain, target: self, action: #selector(PreviewVC.stopRecording))
}
}
} else {
// Fallback on earlier versions
}
}
func stopRecording(){ 让recorder = RPScreenRecorder.shared()
recorder.stopRecording { [unowned self] (preview, error) in
self.navigationItem.rightBarButtonItem = UIBarButtonItem(title: "Start", style: .plain, target: self, action: #selector(PreviewVC.startRecording))
if let unwrappedPreview = preview {
unwrappedPreview.previewControllerDelegate = self
self.present(unwrappedPreview, animated: true, completion: nil)
}
}
}
func previewControllerDidFinish(_ previewController: RPPreviewViewController) {
self.dismiss(animated: true, completion: nil)
}