◉RORK LABEN
●GPT-6.1 SOL — Rork のモデルメニューに追加(09-29)。Low/Medium/High を選べ、Pro・Max に含まれます●SONNET 5.5 — UI づくりが得意で、Sonnet 5 より出力が速いモデルが選べます(09-28)●SDK 58 — Beta が 09/15 から。stable の案内はまだなく、Expo Go でのプロジェクト実行は 09/03 からログインが必要です●WIDGET — iOS のウィジェットが本番ビルドだけ真っ黒になる原因を追った報告が出ています●OBSERVE — EAS Observe がネイティブクラッシュも記録します(SDK 57.0.21 以降・10/07)●NEW — 起動広告が、背面から戻った回にしか出ていませんでした。「前面に戻った」合図が、…●GPT-6.1 SOL — Rork のモデルメニューに追加(09-29)。Low/Medium/High を選べ、Pro・Max に含まれます●SONNET 5.5 — UI づくりが得意で、Sonnet 5 より出力が速いモデルが選べます(09-28)●SDK 58 — Beta が 09/15 から。stable の案内はまだなく、Expo Go でのプロジェクト実行は 09/03 からログインが必要です●WIDGET — iOS のウィジェットが本番ビルドだけ真っ黒になる原因を追った報告が出ています●OBSERVE — EAS Observe がネイティブクラッシュも記録します(SDK 57.0.21 以降・10/07)●NEW — 起動広告が、背面から戻った回にしか出ていませんでした。「前面に戻った」合図が、…
記事一覧/開発ツール
⬡ 開発ツール/2026-05-01上級

Rork Max で画面録画と配信を実装する — ReplayKit と MediaProjection の本番運用ガイド

Rork Max のアプリに iOS ReplayKit と Android MediaProjection を統合し、ゲームプレイ録画・チュートリアル動画作成・ライブ配信機能を実装する本番運用ガイド。

Rork Max236ReplayKitMediaProjection画面録画ライブ配信iOS115Android55

✦ プレミアム記事

アプリ内に「録画ボタン」を置きたいだけなのに、なぜこんなに難しいのか

ユーザーが自分のアプリ操作を友人に共有したいと言い出します。ゲームのハイスコアの瞬間を SNS に載せたくなる方もいれば、チュートリアル動画を作って YouTube に投稿したくなる方もいます。そういった要望が届いたとき、「画面録画くらいすぐ実装できるだろう」と思って着手すると、想像以上の壁にぶつかります。

iOS では ReplayKit という公式フレームワークがありますが、ドキュメントには「In-App Recording」「Broadcast Upload Extension」「Broadcast Pairing」「App Recording」と4種類の API が並んでいて、どれを選ぶべきか最初は分かりません。Android はもっと厄介で、MediaProjection API は Foreground Service と Notification の組み合わせを正しく書かないとシステム側に強制終了されます。さらに React Native 上で動かすには、ネイティブモジュールを書くか、コミュニティのライブラリを継ぎ接ぎする必要があります。

私自身、いくつかのアプリで画面録画機能を組み込んできましたが、最初に作ったときは Broadcast Upload Extension のメモリ制限(50 MB)に引っかかってクラッシュし、App Store 審査では「録画中であることがユーザーに明示されていない」とリジェクトされました。ここではその失敗を踏まえて、Rork Max ベースのアプリに録画機能を組み込むための実装パターンと運用上の注意点を、動くコード付きでまとめます。

4種類の ReplayKit API、結局どれを使えばいいのか

ReplayKit は iOS 9 から導入された画面録画フレームワークですが、API は段階的に拡張されてきました。それぞれの違いを最初に押さえておきましょう。

  • RPScreenRecorder(In-App Recording): アプリ自身を録画して、終了後に編集・共有させる方式です。ゲームのハイライト録画やチュートリアル作成に向きます。実装が最も簡単で、ローカルファイルとして MP4 を取得できます
  • RPBroadcastActivity(Broadcast): Twitch / YouTube Live などの配信先に直接ストリーミングする方式です。Broadcast Upload Extension という別ターゲットが必要で、システム的な制約が多いです
  • In-App Broadcasting(iOS 12+): 自社サーバーに配信する場合に使います。WebRTC や RTMP の知識が必要で、実装難度が一段上がります
  • App-Wide Recording(Control Center): ユーザーがコントロールセンターから手動で録画開始する方式です。アプリ側はほとんど制御できないため、ここでは扱いません

私はまず RPScreenRecorder で In-App Recording を実装する ことをおすすめします。配信が必要になったら段階的に Broadcast Extension を追加すればいいからです。逆順で取り組むと実装の複雑さで挫折しやすいです。

✦

ここまでお読みいただきありがとうございます。

この記事の続きを読む

この先には、実装コードやベンチマーク結果など、実務でお役に立てる内容をご用意しています。このサイトは広告を掲載しておらず、サーバーや開発にかかる費用はメンバーの皆様のご支援で成り立っています。もしお役に立てていましたら、ご支援いただけますと大変ありがたいです。

この記事で得られること
✦ユーザーがアプリ内の操作を録画して友人に共有したい、というニーズに応えられないでいた開発者が、ReplayKit と MediaProjection の両プラットフォーム実装を今日手に入れられる
✦Broadcast Upload Extension の設定で詰まっていた人が、Xcode のターゲット構成・App Group 共有・サンプルバッファ処理まで動くコードで習得できる
✦プライバシーや App Store 審査で不安だった画面録画機能を、Apple / Google の最新ガイドラインに沿って安全に本番リリースできる
Stripe による安全な決済 · いつでもキャンセル可能
✦

この記事を購入する

この先の内容をすべてお読みいただけます。一度のご購入で、いつでも何度でもアクセスできます。このサイトは広告を掲載しておらず、皆さまのご支援がサーバー費用などの運営を支えています。

または
メンバーシップなら全記事が読み放題 →
シェア

お読みいただきありがとうございます

Rork Lab は広告なしで運営しており、サーバー費用などの運営コストはメンバーシップのご支援で賄っています。実装コード・ベンチマーク・本番設計パターンなど、実務でお役立ていただける記事を毎日更新しています。もし読んでよかったと感じていただけましたら、ぜひご覧ください。

  • ✦コピー&ペーストで使える実装コード付き
  • ✦毎日新しい上級ガイドを追加
  • ✦¥580/月 または ¥1,480 の永久アクセス
メンバーシップを見る →

関連記事

⬡ 開発ツール2026-09-10
画面を暗くする機能を足したら、アプリを閉じたあとも iPhone が暗いままでした
expo-brightness の setBrightnessAsync は、Android では現在のアクティビティにだけ効き、iOS では端末の明るさそのものを変えます。戻す責任が片側にしかない理由と、AppState で後始末をするフックの実装をまとめました。
⬡ 開発ツール2026-05-16
Rork Max 製 iOS アプリの Firebase CocoaPods を Swift Package Manager へ移行した実録——2026年10月の廃止前に対応した手順と3つの落とし穴
Firebase Apple SDK の CocoaPods 配信が2026年10月に停止します。Rork Max 製 iOS アプリ4本を Swift Package Manager へ移行した実体験をもとに、手順・落とし穴・Dropbox競合コピー問題の解決策を詳細に解説します。
⬡ 開発ツール2026-05-15
Rork Max Android アプリが古い OS バージョンだけクラッシュする原因と Java 8 デシュガリング修正
Rork Max で生成した Android アプリが古い OS バージョン(Android 6〜8 など)でのみクラッシュする問題の診断方法と、Java 8 デシュガリング設定による根本解決を解説します。