Я выполнил простую задачу записи полноэкранного режима с помощью ReplayKit:
import UIKit
import ReplayKit
class ViewController: UIViewController {
@IBOutlet weak var containerView: UIView!
@IBOutlet weak var movingView: UIView!
let recorder = RPScreenRecorder.shared()
override func viewDidLoad() {
super.viewDidLoad()
movingView.transform = CGAffineTransform(scaleX: 1.5, y: 1.5)
UIView.animate(withDuration: 0.5, delay: 0, options: [.autoreverse, .repeat], animations: {
self.movingView.transform = .identity
}, completion: nil)
}
@IBAction func startAction(_ sender: UIButton) {
recorder.startRecording { (error) in
if let error = error {
print(error.localizedDescription)
}
}
}
@IBAction func stopAction(_ sender: UIButton) {
recorder.stopRecording { [weak self] previewWC, error in
if let previewVC = previewWC {
previewVC.previewControllerDelegate = self
self?.present(previewVC, animated: true)
}
if let error = error {
print(error.localizedDescription)
}
}
}
}
extension ViewController: RPPreviewViewControllerDelegate {
func previewControllerDidFinish(_ previewController: RPPreviewViewController) {
dismiss(animated: true)
}
}
*** Могу ли я как-нибудь записать часть экрана? Я не нашел элегантного решения, чтобы взять контент и преобразовать его в видео ***