Я борюсь с проблемой в новых iOS 12 и Xcode 10. При запуске записи экрана происходит сбой и отображается следующий журнал
2018-09-22 08:00:09.459676+0530 Chat story[95207:3292867] *** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: '*** -[AVAssetWriter finishWritingWithCompletionHandler:] Cannot call method when status is 0'
В последней версии Xcode все работало нормально.
Также вот мой код, который я написал для этого
func startRecording(withFileName fileName: String, recordingHandler: @escaping (Error?) -> Void,onCompletion: @escaping (Error?)->Void)
{
self.viewOverlay.show()
screenRecorder.startRecording(withFileName: fileName) { (error) in
recordingHandler(error)
self.recordCompleted = onCompletion
}
}
func stopRecording()
{
screenRecorder.stopRecording { (error) in
self.viewOverlay.hide()
self.recordCompleted?(error)
}
}
Также в ScreenRecorder.swift есть еще один метод, который вызывает метод StopRecording.Вот этот метод
func stopRecording(handler: @escaping (Error?) -> Void)
{
if #available(iOS 11.0, *)
{
RPScreenRecorder.shared().stopCapture
{ (error) in
handler(error)
self.assetWriter.finishWriting
{
print(ReplayFileUtil.fetchAllReplays())
}
}
} else {
// Fallback on earlier versions
}
}