RORK LABEN
TOOLING — Rorkの開発者向けリポジトリが動き続けています。rork-xcodeが7月16日、rork-deviceが7月15日、rork-plistが7月13日に更新されましたOPUS46 — RorkでClaude Opus 4.6が稼働しています。Rork MaxはClaude Codeを土台にアプリを組み立てる設計ですSIM — ブラウザ上で動くクラウドのiOSシミュレータを備え、実機へのインストールは1クリック、App Storeへの提出は2クリックと案内されていますMAX — Rork MaxはReact Nativeではなく純粋なSwiftを出力します。iPhone・iPad・Apple Watch・Apple TV・Vision Pro、そしてiMessageまでが射程ですNATIVE — HealthKit、ARKitとLiDAR、NFC、Dynamic Island、Live Activities、Metalによる3D、Core MLのオンデバイス推論まで扱えますSEED — RorkはLeft Lane Capitalが主導する1,500万ドルのシードラウンドを実施し、Peak XVとa16z Speedrunが参加しましたTOOLING — Rorkの開発者向けリポジトリが動き続けています。rork-xcodeが7月16日、rork-deviceが7月15日、rork-plistが7月13日に更新されましたOPUS46 — RorkでClaude Opus 4.6が稼働しています。Rork MaxはClaude Codeを土台にアプリを組み立てる設計ですSIM — ブラウザ上で動くクラウドのiOSシミュレータを備え、実機へのインストールは1クリック、App Storeへの提出は2クリックと案内されていますMAX — Rork MaxはReact Nativeではなく純粋なSwiftを出力します。iPhone・iPad・Apple Watch・Apple TV・Vision Pro、そしてiMessageまでが射程ですNATIVE — HealthKit、ARKitとLiDAR、NFC、Dynamic Island、Live Activities、Metalによる3D、Core MLのオンデバイス推論まで扱えますSEED — RorkはLeft Lane Capitalが主導する1,500万ドルのシードラウンドを実施し、Peak XVとa16z Speedrunが参加しました
記事一覧/開発ツール
開発ツール/2026-04-28上級

Rork Max で Share Extension を実装する — iOS の共有シートにアプリを表示させる

Rork Max でメモアプリやリーディングリストのような『他アプリから共有を受け取る』機能を実装する完全ガイド。App Group・URL Scheme・最小限のUI設計まで、本番運用可能なコードで解説します。

Rork Max229Share ExtensioniOS108SwiftUI63App Group4Deep Link3

プレミアム記事

iOS でメモアプリを作っていて、「Safari の記事を共有シートから自分のアプリに送れるようにしたい」と思ったことはないでしょうか。私は最初の頃、これが React Native だけで完結すると思い込んで丸2日溶かしました。結論から言うと、Share Extension は別ターゲットのネイティブ実装が必須で、JavaScript 側からは差し込めません。

ただし、Rork Max の SwiftUI ネイティブ生成を組み合わせると、この壁はぐっと下がります。ここで扱うのはRork Max で生成したベースに対して Share Extension ターゲットを追加し、App Group でデータを受け渡し、メインアプリを Deep Link で起動するところまで、実際にビルドして審査に通る構成で解説します。Pocket・Instapaper・Notion のような「共有シートから取り込む」アプリを作りたい方は、ここから先を読み進めてみてください。

なぜ Share Extension は React Native だけで作れないのか

技術的な前提を最初に整理しておきます。Share Extension は iOS の「App Extension」という仕組みで、メインアプリとは別プロセス・別バイナリとして動作します。共有シートに表示されるあの小さなパネルは、メインアプリとは独立した小さなアプリだと考えてください。

そして App Extension は、現時点では Swift / Objective-C で書く必要があります。React Native や Expo は、メインアプリのバンドルを差し替えるための仕組みであって、別ターゲットの Extension までは管理しません。Expo Modules や react-native-share-extension のような OSS は存在しますが、メンテナンスが止まっていたり、UI を React 側で書こうとして起動が遅くなったりと、本番運用でハマりやすい構成です。

私は実際のプロダクトでは、メインアプリ= Rork(React Native)または Rork Max(SwiftUI)/ Share Extension = SwiftUI ネイティブで分離するのが最も安定すると感じています。Rork Max を使えば、その両方を一つのプロジェクトとして扱えるのが強みです。

Extension の種類と役割の整理

iOS には Share Extension のほかに Action Extension、Document Provider、File Provider など多くの拡張があり、最初は混乱します。共有シートに「あなたのアプリへ送る」を出したいなら、選ぶべきは「Share Extension」一択です。

  • Share Extension: 共有シートからコンテンツを受け取り、メインアプリに保存・送信する用途
  • Action Extension: 受け取ったコンテンツを変換して呼び出し元に返す用途(翻訳・要約など)
  • Document Provider: ファイルアプリのプロバイダとして自分のアプリのファイルを公開する用途

メモアプリ・リーディングリスト・SNSクライアント・あとで読むサービスは、すべて Share Extension が正解です。

ステップ 1: Rork Max でベースプロジェクトを作る

まず Rork Max でメインアプリの土台を作ります。プロンプトには「Apple Watch 連携」や「ウィジェット」を最初から含めずに、Share Extension で受け取った URL とタイトルを表示するシンプルな構成にしておくと、後段の差分が見やすくなります。

私が実際に使うプロンプトはこんな形です。

Rork Max で iOS 専用のリーディングリストアプリを作ってください。
- SwiftUI ネイティブ
- 最小ターゲット iOS 17
- 保存した URL とタイトルの一覧を表示
- 起動時に App Group "group.net.rorklab.readlater.shared" の UserDefaults を読む
- URL Scheme "readlater://" で起動された時、URL クエリ "?url=...&title=..." をリストに追記
- データは SwiftData で永続化

Rork Max が生成したプロジェクトを Xcode で開いたら、Bundle Identifier・チーム・Signing を自分のものに差し替えます。ここで動作確認まで終わらせてから次に進むのが鉄則です。Extension を後から足すと、署名関係のエラーが Extension 側で起きているのか、本体側で起きているのか切り分けにくくなります。

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

この記事の続きを読む

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

この記事で得られること
Share Extension が必要なのに React Native だけでは実装できず詰まっていた方が、Rork Max のネイティブ生成で動く実装を今日手に入れられます
App Group による Extension とメインアプリ間のデータ共有、URL Scheme による起動、UI を最小限に抑える設計を一気に習得できます
リーディングリスト・メモアプリ・SNSクライアントのような『他アプリのコンテンツを取り込む』プロダクトを本番想定で今日から開発できます
Stripe による安全な決済 · いつでもキャンセル可能

この記事を購入する

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

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

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

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

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

関連記事

開発ツール2026-07-06
Rork Max の SwiftUI を @Observable へ移す — ObservableObject で広がっていた再描画を絞り込む
Rork Max が生成する SwiftUI アプリは ObservableObject と @Published をよく使いますが、状態が一つ変わるだけで購読しているビュー全体が再評価されます。Observation フレームワークの @Observable へ移すことで、プロパティ単位に再描画を絞り込む手順と、Instruments で実測したビュー実行回数の変化を、個人開発の作業ログとしてまとめました。
開発ツール2026-06-30
Rork Max で StandBy モードに最適化したウィジェットを実装する
充電中の横向き表示で使われる StandBy モード向けに、WidgetKit ウィジェットを最適化する実装手順です。常時表示の調光・ナイトモード・コンテナ背景の扱いを、Rork Max が生成したコードへどう手で加えるかまで含めて解説します。
開発ツール2026-05-08
Rork Max の Cloud Compile が失敗する原因と、すぐに試せる対処法
Rork Max の Cloud Compile でビルドが失敗する時の原因を症状別に整理し、コード署名エラー・Swift バージョン不一致・タイムアウトなど、よくあるケースへの対処法を解説します。
📚RECOMMENDED BOOKS
大規模言語モデル入門
山田育矢
LLM開発
生成AIプロンプトエンジニアリング入門
我妻幸長
プロンプト
Claude CodeによるAI駆動開発入門
平川知秀
AI駆動開発
※ アフィリエイトリンクを含みます
もっと見る →