RORK LABEN
GROWTH — Rorkは月間74.3万訪問・成長率85%と、利用が伸び続けていますMAX — Rork MaxはネイティブSwiftアプリを生成し、iPhone・iPad・Watch・TV・Vision Pro・iMessageに対応しますMAX — AR/LiDARスキャン・Metalの3Dゲーム・Live Activities・HealthKit・Core MLなど、React Nativeでは届きにくい領域に踏み込めますSTACK — 通常のRorkはReact Native(Expo)でiOSとAndroidを同時に生成し、非エンジニアでも実機アプリを作れますPRICE — 料金は無料から用意され、有料プランは月$25から、Rork Maxは月$200ですMARKET — Gartnerは2026年末までに新規アプリの75%が低コード/ノーコード製になると予測していますGROWTH — Rorkは月間74.3万訪問・成長率85%と、利用が伸び続けていますMAX — Rork MaxはネイティブSwiftアプリを生成し、iPhone・iPad・Watch・TV・Vision Pro・iMessageに対応しますMAX — AR/LiDARスキャン・Metalの3Dゲーム・Live Activities・HealthKit・Core MLなど、React Nativeでは届きにくい領域に踏み込めますSTACK — 通常のRorkはReact Native(Expo)でiOSとAndroidを同時に生成し、非エンジニアでも実機アプリを作れますPRICE — 料金は無料から用意され、有料プランは月$25から、Rork Maxは月$200ですMARKET — Gartnerは2026年末までに新規アプリの75%が低コード/ノーコード製になると予測しています
記事一覧/開発ツール
開発ツール/2026-07-04上級

Rork Max 生成アプリで端末同士を直接つなぐ — MultipeerConnectivity が無言で失敗する Local Network 権限の罠

Rork Max が生成したネイティブ Swift アプリに、サーバを介さず近くの端末同士をつなぐ共有機能を組み込む方法です。シミュレータでは動くのに実機でピアが見つからない——その多くは Local Network 権限まわりの無言の失敗が原因でした。

Rork Max210MultipeerConnectivityLocal NetworkSwift37iOS98オフライン共有

プレミアム記事

近くにいる相手とアプリ内のデータを、サーバもアカウントも通さずにその場で渡したい——たとえば作った壁紙プリセットを目の前の友人の端末にそのまま送る、といった機能を Rork Max で作ろうとしたときのことです。生成された Swift はシミュレータでは何の問題もなく動き、ピア一覧にモックが並びました。ところが実機二台で試すと、片方の端末にもう片方が一向に現れません。エラーも出ず、ただ静かに何も起きない。原因を追ったところ、MCSession の使い方ではなく、その手前の Local Network 権限で無言のまま弾かれていました。

この「無言の失敗」は MultipeerConnectivity で近接通信を組むときに最初にぶつかる壁です。個人開発でアプリを作り続けている中でも、権限まわりの取りこぼしは実機でしか露見しないため厄介でした。ここでは、Rork Max が生成したネイティブアプリに端末直結の共有機能を最小差分で乗せる前提に立ち、権限の罠の切り分け方と、そのまま使えるラッパー実装を順にまとめていきます。

なぜサーバを介さず端末を直接つなぐのか

近接共有をバックエンド経由にすると、たとえ相手が目の前にいても「アップロード → サーバ経由 → ダウンロード」という遠回りになります。オフラインの場所では動かず、サーバ費用もかかり、一時的なデータのためにアカウント連携を要求することにもなります。

MultipeerConnectivity は Wi-Fi と Bluetooth を自動で束ねて、同じ Wi-Fi 下でもオフラインのピアツーピアでも、近くの端末を発見して直接データを流せる Apple 純正のフレームワークです。壁紙やプリセットのような「その場で渡せれば十分」なデータには、サーバを持たない選択がむしろ素直だと私は考えています。Dolice Labs で運用しているような小さなアプリでは、機能ひとつのためにバックエンドを増やさない判断が運用コストにも効いてきます。

一方で、恒久的な端末間同期が目的なら CloudKit で端末間データ同期を組む設計 の方が向いています。近接共有は「いま・ここ」で完結する用途に絞るのが要点です。

MultipeerConnectivity の3つの役割を分けて捉える

このフレームワークは登場人物を3つに分けて考えると一気に見通しが良くなります。

  1. Advertiser(広告側): 「ここに居ますよ」と自分の存在を周囲に知らせる役。MCNearbyServiceAdvertiser を使います。
  2. Browser(探索側): 周囲の Advertiser を探し、見つけたら招待を送る役。MCNearbyServiceBrowser を使います。
  3. Session(セッション): 招待が受理されたあと、実際のデータをやり取りする土管。MCSession が担います。

同じアプリが Advertiser と Browser の両方を同時に担うと、どちらの端末からでも相手を見つけて誘えます。この「双方向で名乗り、双方向で探す」構成が、近接共有ではもっとも扱いやすいと感じています。

serviceType はこの3者をひも付ける合言葉です。ここには後述する厳格な命名規則があり、規則を外れると advertiser も browser も静かに動かなくなります。

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

この記事の続きを読む

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

この記事で得られること
実機でピアが一向に見つからず「なぜか動かない」で止まっていた人が、Local Network 権限とBonjourサービスタイプのどこでつまずいているかをlog から切り分けられるようになる
招待から MCSession 確立、切断からの復帰までの状態遷移を、そのまま組み込める薄いラッパーとして手に入れられる
Rork Max の生成コードに最小差分で近接共有を足すときに、AIが書ききれない権限・Info.plist・バックグラウンド制約をどこで自分の手で補うかがわかる
Stripe による安全な決済 · いつでもキャンセル可能

この記事を購入する

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

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

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

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

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

関連記事

開発ツール2026-04-05
Rork Max × WidgetKit・ライブアクティビティ実装ガイド 2026 — Dynamic Island 対応まで
Rork Max で iOS Widget・ロック画面ウィジェット・Dynamic Island 対応のライブアクティビティを実装するための実践ガイド。WidgetKit の基礎から Timeline 更新戦略、App Intents 連携、収益化まで体系的に解説します。
開発ツール2026-03-15
Rork Max で 3D ゲームを作る:Metal フレームワークと AI で始めるゲーム開発入門
Rork Max の Swift ネイティブ環境で Apple の Metal フレームワークを活用し、3D ゲームを AI アシストで開発する方法を解説。ゲームループ、物理演算、シーン構築まで実践的に学べる。
開発ツール2026-06-30
Rork Max で StandBy モードに最適化したウィジェットを実装する
充電中の横向き表示で使われる StandBy モード向けに、WidgetKit ウィジェットを最適化する実装手順です。常時表示の調光・ナイトモード・コンテナ背景の扱いを、Rork Max が生成したコードへどう手で加えるかまで含めて解説します。
📚RECOMMENDED BOOKS
大規模言語モデル入門
山田育矢
LLM開発
生成AIプロンプトエンジニアリング入門
我妻幸長
プロンプト
Claude CodeによるAI駆動開発入門
平川知秀
AI駆動開発
※ アフィリエイトリンクを含みます
もっと見る →