Ich verwende folgenden Code zum Aufzeichnen des Bildschirms. Es funktioniert gut für ios10 und ios9Replay-Kit Funktioniert nicht IPAD IOS11 FEHLER
@IBAction func btnRecordTapped(_ sender: UIButton) {
if RPScreenRecorder.shared().isAvailable {
if #available(iOS 10.0, *) {
RPScreenRecorder.shared().startRecording(handler: { (error) in
guard error == nil else {
print("Record failed with error \(error!.localizedDescription)")
return
}
DispatchQueue.main.async {
sender.removeTarget(self, action: #selector(self.btnRecordTapped(_:)), for: .touchUpInside)
sender.addTarget(self, action: #selector(self.stoprecording(button:)), for: .touchUpInside)
sender.setTitle("Stop", for: .normal)
sender.setTitleColor(.red, for: .normal)
}
})
} else {
RPScreenRecorder.shared().startRecording(withMicrophoneEnabled: false, handler: { (error) in
guard error == nil else {
print("Record failed with error \(error!.localizedDescription)")
return
}
DispatchQueue.main.async {
sender.removeTarget(self, action: #selector(self.btnRecordTapped(_:)), for: .touchUpInside)
sender.addTarget(self, action: #selector(self.stoprecording(button:)), for: .touchUpInside)
sender.setTitle("Stop", for: .normal)
sender.setTitleColor(.red, for: .normal)
}
})
}
} else {
print("Screen Reocrder not availble")
}
}
Ich sehe für die Erlaubnis, in ios10 und ios9 Prompt kann aber nicht für ios11
ios11 Completion (Verschluss) Block ruft nie
Ich habe bereits überprüft, ob die Methode ordnungsgemäß aufruft, wenn die Bedingung if RPScreenRecorder.shared().isAvailable {
ermöglicht auch in
Bitte helfen Sie mir zu lassen, wenn jemand darüber wissen
Haben Sie versucht, auf einem physischen Gerät? Vielleicht verwandt mit [https://stackoverflow.com/questions/40024316](https://stackoverflow.com/questions/40024316/reading-from-public-effective-user-settings-in-ios-10) – mato
@mato Vielen Dank für die Antwort. Die Bildschirmaufzeichnung wird im Simulator nicht unterstützt. Der angegebene Link hat nichts mit dem Problem zu tun –