为什么Replay套件不能在Swift 3中保存屏幕录制?

时间:2016-09-22 01:36:24

标签: ios swift swift3 replaykit

此代码之前正在运行,但自从我更新到swift 3后,当我按下保存按钮时,屏幕录制不再保存在我的照片库中。当我按下保存按钮或取消按钮时,我也会在控制台中收到此错误消息。

  

[Common] _BSMachError:port 5a37; (os / kern)无效名称(0xf)“无法使用   解除分配发送权“

以下是我在屏幕录制结束时使用的代码,并显示了previewViewController:

internal func previewControllerDidFinish(_ previewViewController: RPPreviewViewController) {

previewViewController.dismiss(animated: true, completion: nil)

}

1 个答案:

答案 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)
}