Objective-C
iOS9
ReplayKit

ReplayKitでアプリの動画を簡単に撮ろう

More than 3 years have passed since last update.

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からシェアあるいはカメラロールに保存のみです.安心ですね.