Ошибка ReplayKit: Code=-5807 "Запись прервана из-за многозадачности и изменения размера контента"
Код =-5807 "Запись прервана из-за многозадачности и изменения размера контента"
У меня есть этот код, но я все время вижу этот евро, если я перезагружаю свое устройство или пытаюсь использовать другое устройство, это та же ошибка
я использую ReplayKit
но я не могу больше записываться
import UIKit import ReplayKit
class ViewController: UIViewController, RPPreviewViewControllerDelegate {
@IBOutlet var statusLabel: UILabel!
@IBOutlet var colorPicker: UISegmentedControl!
@IBOutlet var colorDisplay: UIView!
@IBOutlet var recordButton: UIButton!
@IBOutlet var micToggle: UISwitch!
let recorder = RPScreenRecorder.shared()
private var isRecording = false
override func viewDidLoad() {
super.viewDidLoad()
recordButton.layer.cornerRadius = 32.5
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
}
func viewReset() {
micToggle.isEnabled = true
statusLabel.text = "Ready to Record"
statusLabel.textColor = UIColor.black
recordButton.backgroundColor = UIColor.green
}
@IBAction func colors(sender: UISegmentedControl) {
switch sender.selectedSegmentIndex {
case 0:
colorDisplay.backgroundColor = UIColor.red
case 1:
colorDisplay.backgroundColor = UIColor.blue
case 2:
colorDisplay.backgroundColor = UIColor.orange
case 3:
colorDisplay.backgroundColor = UIColor.green
default:
colorDisplay.backgroundColor = UIColor.red
}
}
@IBAction func recordButtonTapped() {
if !isRecording {
startRecording()
} else {
stopRecording()
}
}
func startRecording() {
func start() {
guard recorder.isAvailable else {
print("Recording is not available at this time.")
return
}
if micToggle.isOn {
recorder.isMicrophoneEnabled = true
} else {
recorder.isMicrophoneEnabled = false
}
recorder.startRecording{ [unowned self] (error) in
guard error == nil else {
print("There was an error starting the recording.")
print("MyError:", error as Any)
return
}
print("Started Recording Successfully")
self.micToggle.isEnabled = false
self.recordButton.backgroundColor = UIColor.red
self.statusLabel.text = "Recording..."
self.statusLabel.textColor = UIColor.red
self.isRecording = true
}
}
DispatchQueue.main.async {
start()
}
}
func stopRecording() {
func stop() {
recorder.stopRecording { [unowned self] (preview, error) in
print("Stopped recording")
guard preview != nil else {
print("Preview controller is not available.")
return
}
let alert = UIAlertController(title: "Recording Finished", message: "Would you like to edit or delete your recording?", preferredStyle: .alert)
let deleteAction = UIAlertAction(title: "Delete", style: .destructive, handler: { (action: UIAlertAction) in
self.recorder.discardRecording(handler: { () -> Void in
print("Recording suffessfully deleted.")
})
})
let editAction = UIAlertAction(title: "Edit", style: .default, handler: { (action: UIAlertAction) -> Void in
preview?.previewControllerDelegate = self
self.present(preview!, animated: true, completion: nil)
})
alert.addAction(editAction)
alert.addAction(deleteAction)
self.present(alert, animated: true, completion: nil)
self.isRecording = false
self.viewReset()
}
}
DispatchQueue.main.async {
stop()
}
}
Я получал каждый раз эту ошибку после отдыха Устройство с iPhone XS Max или другой моделью iPhone
Domain = com.apple.ReplayKit.RPRecordingErrorDomain Code =-5807 "Запись, прерываемая многозадачностью и изменением размера контента" UserInfo={NSLocalizedDescription= Запись, прерываемая многозадачностью и изменением размера контента})
0 ответов
Я столкнулся с той же проблемой, мое устройство даже полностью не могло снова записать экран.
Обновление устройства до iOS 13.1.3 все исправило.