iOS 9 から導入されたReplayKit
では,アプリの動作の様子を簡単に録画することもできます.また,設定によって同時にマイクから録音させることもできます.日本語の記事が見つからないので書いてみました.
ゲーム実況用のAPIのようですが,通常のUIKitで実装したアプリでも綺麗に録画することができます.アプリのプロモーション用動画を撮る際に,Macと接続しQuickTimeで録画したり,iOS Simulatorを録画したりという方法がありますが,ReplayKitでは,コードで録画開始と終了を指定できるので,確実に,綺麗に録画することができます.
また,実際にユーザーテストでアプリを使ってもらう際にも,ログとして確実に保存できます.Macとの接続も要りません.
ということで使い方ですが簡単です.
まず録画の開始です.
@import ReplayKit;
...
[[RPScreenRecorder sharedRecorder] startRecordingWithMicrophoneEnabled:NO handler:^(NSError * _Nullable error) {
if (error) {
NSLog(@"failed to start recording, %@", [error localizedDescription]);
}
}];
続いて終了です.
[[RPScreenRecorder sharedRecorder] stopRecordingWithHandler:^(RPPreviewViewController * _Nullable previewViewController, NSError * _Nullable error) {
if (error) {
NSLog(@"failed to stop recording, %@", error);
} else if (previewViewController != nil){
// 録画した動画をトリム・プレビューするRPPReviewViewControllerを表示
[self presentViewController:previewViewController animated:YES completion:nil];
}
たったこれだけ!
録画開始のときに,ユーザーへのアラートが自動で表示されます.ユーザーの許可なしには録画できません.
またプログラム側で勝手に保存することもできません.ユーザーによるRPPreviewController
からシェアあるいはカメラロールに保存のみです.安心ですね.