8

我已经进行了足够多的搜索,但未能找到解决方案。

我正在使用 ReplayKit 来记录我的应用程序的屏幕。我已经通过调用开始录制屏幕

let sharedRecorder = RPScreenRecorder.shared()
sharedRecorder.startRecording() { error in 
    if let error = error {
        self.showScreenRecordingAlert(message: error.localizedDescription)
    }
}

当我按下stopRecord按钮时,我正在打电话

let sharedRecorder = RPScreenRecorder.shared()
sharedRecorder.stopRecording { previewViewController, error in 
    if let error = error {
        self.showScreenRecordingAlert(message : error.localizedDescription)
        return
    }
}

但我面临的问题是,程序控制没有进入stopRecording块内。当我在做的时候po sharedRecorder.isRecording,它总是返回 false。我已经完成了我所知道的一切,但未能找到解决方案。

4

2 回答 2

2

如果您的代码存在上述问题,我已经找到了解决方案。

let sharedRecorder = RPScreenRecorder.shared()
sharedRecorder.stopRecording { previewViewController, error in 
if let error = error {
    self.showScreenRecordingAlert(message : error.localizedDescription)
    return
}}

如果您在模拟器上运行您的应用程序,Above Block 将不会调用,因此请使用真实设备测试然后上述方法肯定会调用。

谢谢你。

于 2019-12-14T05:24:14.657 回答
1

刚刚在运行 XCode 9.4.1 并在 iOS 11.4.0 上构建时遇到了这个问题。将手机升级到 iOS 11.4.1 修复了该错误。我不确定 XCode 版本的差异是根本原因还是 11.4.0 刚刚被破坏。

于 2018-07-18T01:21:42.527 回答