ReplayKit
Objective-C – Swift
A ReplayKit egy olyan Framework ami lehetővé teszi, hogy a játékfejlesztők vagy a játékosok könnyen rögzíteni tudjanak és megosztani egy játék közben rögzített videót!
A felvételek nagy felbontásban és minimális energiafelhasználással készülnek.
A ReplayKit funkciót nem minden eszközt támogat, csak a 64bit-es készülékek és az iOS 9+szoftvertől támogatott.
1, Importáljuk be a Frameworkot
• import ReplayKit //Swift • #import //Objective-C
2, Képernyőfelvétel rögzítése
//Objective-C
- (void)startScreenRecording { RPScreenRecorder *sharedRecorder = RPScreenRecorder.sharedRecorder; sharedRecorder.delegate = self; [sharedRecorder startRecordingWithMicrophoneEnabled:YES handler:^(NSError *error) { if (error) { NSLog(@"startScreenRecording: %@", error.localizedDescription); } }]; }
//Swift
@IBAction func startRecordingButtonTapped(_ sender: AnyObject) { RPScreenRecorder.shared().startRecording(withMicrophoneEnabled: true) { [unowned self] error in DispatchQueue.main.async { [unowned self] in self.processingView.startAnimating() } if let error = error { NSLog("Failed start recording: \(error.localizedDescription)") return } NSLog("Start recording") } }

3, Képernyőfelvétel leállítása
//Objective-C
- (void)stopScreenRecording { RPScreenRecorder *sharedRecorder = RPScreenRecorder.sharedRecorder; [sharedRecorder stopRecordingWithHandler:^(RPPreviewViewController *previewViewController, NSError *error) { if (error) { NSLog(@"stopScreenRecording: %@", error.localizedDescription); } if (previewViewController) { previewViewController.previewControllerDelegate = self; self.previewViewController = previewViewController; // RPPreviewViewController only supports full screen modal presentation. self.previewViewController.modalPresentationStyle = UIModalPresentationFullScreen; [self.view.window.rootViewController presentViewController:previewViewController animated:YES completion:nil]; } }]; }
//Swift
@IBAction func stopRecordingButtonTapped(_ sender: AnyObject) { // end recording RPScreenRecorder.shared().stopRecording(handler: { [unowned self] (previewViewController, error) in DispatchQueue.main.async { [unowned self] in self.processingView.stopAnimating() } self.buttonEnabledControl(false) if let error = error { NSLog("Failed stop recording: \(error.localizedDescription)") return } NSLog("Stop recording") previewViewController?.previewControllerDelegate = self DispatchQueue.main.async { [unowned self] in // show preview window self.present(previewViewController!, animated: true, completion: nil) } }) }
A felvétel leállítása után megjelenik a rögzített videó amit szerkeszthetünk vagy menthetjük vagy megoszthatunk az ismerőseinkkel.
Bővebb információ a ReplayKit-ről.