RORK LABEN
BUILD — Rork Max はクラウド上の実機 Mac に Xcode と iOS SDK を載せ、SwiftUI を書き、ビルドし、エラーを読んで直す反復を回します。コードを吐いて終わりではない点が生成物の質に効いていますNATIVE — 生成されるのは React Native ではなく純粋な Swift / SwiftUI です。AR や Metal、ウィジェットなど React Native からは届かない機能に手が届くことが、他ビルダーとの実質的な差になりますPLATFORMS — 対応は iPhone・iPad・Apple Watch・Apple TV・Vision Pro に加えて iMessage まで含みます。ウォッチや拡張から入る設計を試すのに向いていますCOMPANION — Rork Companion により、有料の Apple Developer アカウントなしで生成したアプリを実機の iPhone で確認できます。最初の一本を試す段階の障壁が一段下がりましたPRICING — 無料で開始でき有料プランは月額25ドルから、Rork Max は月額200ドルの Max プランです。回収できる本数と規模を先に見積もっておく価値がありますDEADLINE — Google Play は2026年8月31日以降、新規アプリと更新の双方に対象 API レベル36 以上を要求します。残り10日で、生成物の targetSdkVersion は自分で確認が必要ですBUILD — Rork Max はクラウド上の実機 Mac に Xcode と iOS SDK を載せ、SwiftUI を書き、ビルドし、エラーを読んで直す反復を回します。コードを吐いて終わりではない点が生成物の質に効いていますNATIVE — 生成されるのは React Native ではなく純粋な Swift / SwiftUI です。AR や Metal、ウィジェットなど React Native からは届かない機能に手が届くことが、他ビルダーとの実質的な差になりますPLATFORMS — 対応は iPhone・iPad・Apple Watch・Apple TV・Vision Pro に加えて iMessage まで含みます。ウォッチや拡張から入る設計を試すのに向いていますCOMPANION — Rork Companion により、有料の Apple Developer アカウントなしで生成したアプリを実機の iPhone で確認できます。最初の一本を試す段階の障壁が一段下がりましたPRICING — 無料で開始でき有料プランは月額25ドルから、Rork Max は月額200ドルの Max プランです。回収できる本数と規模を先に見積もっておく価値がありますDEADLINE — Google Play は2026年8月31日以降、新規アプリと更新の双方に対象 API レベル36 以上を要求します。残り10日で、生成物の targetSdkVersion は自分で確認が必要です
記事一覧/アプリ開発
アプリ開発/2026-06-30中級

AccessorySetupKit で Bluetooth 機器のペアリング画面をネイティブに作る

iOS 18 の AccessorySetupKit を使うと、Bluetooth の全許可ダイアログを出さずに、特定の機器だけをシステム製のシートでペアリングできます。Rork Max が生成するネイティブ Swift を前提に、宣言・ピッカー表示・接続までの実装を動くコードでまとめました。

AccessorySetupKitBluetoothiOS 185Rork Max233CoreBluetooth

プレミアム記事

自分のアプリから周辺機器をつなごうとして、起動直後に「"アプリ名" が Bluetooth の使用を求めています」という全許可ダイアログが出る——これを嫌って、接続機能をホーム画面の奥に隠していた時期がありました。私自身、個人開発でユーティリティ系のアプリを長く運用していますが、最初の数秒で出る広い許可要求は、それだけで体験の温度を下げます。

iOS 18 の AccessorySetupKit は、この前提を変えます。アプリが Bluetooth 全体へのアクセスを求める代わりに、システムが描くシートの中で、対象の機器だけをユーザーに選んでもらう仕組みです。選ばれた機器に対してだけ接続が許され、広い許可ダイアログは出ません。Rork Max が生成するネイティブ Swift を前提に、宣言からピッカー表示、接続までを追います(この機能はネイティブ実装が前提で、素の React Native では扱えません)。

なぜ「全許可」を求めずに済むのか

従来の CoreBluetooth は、スキャンを始める時点でアプリに Bluetooth の利用許可を求めました。ユーザーから見れば「このアプリは周りの機器を見られるのか」という広い許可です。AccessorySetupKit は発想が逆で、許可の単位を「この1台」まで絞り込みます

ユーザーはシステム製のシートの中で、近くにある対象機器を選びます。アプリはその結果として「選ばれた機器の識別子」を受け取り、以降はその機器に限って接続できます。広いスキャン許可を一度も求めずに済むので、最初の体験を壊しません。これは個人開発のように信頼を一から積む立場ほど効いてきます。App Store の審査でも、用途に対して過剰な権限を求めない設計は説明しやすく、リジェクトの芽を1つ減らせます。

必要な宣言(Info.plist)

最初に Info.plist で「どんな機器を扱うか」を宣言します。ここが抜けるとピッカーは無言で空になります。

<key>NSAccessorySetupKitSupports</key>
<array>
  <string>Bluetooth</string>
</array>
<key>NSAccessorySetupBluetoothServices</key>
<array>
  <!-- 自分の機器が広告するサービス UUID をすべて列挙する -->
  <string>0000FE2C-0000-1000-8000-00805F9B34FB</string>
</array>

Rork Max で生成したプロジェクトでも、ネイティブ側の Info.plist にこの2つのキーを足します。NSAccessorySetupBluetoothServices には、対象機器がアドバタイズするサービス UUID を漏れなく書きます。ここに無い UUID の機器はシートに現れません。

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

この記事の続きを読む

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

この記事で得られること
ASAccessorySession と ASDiscoveryDescriptor で「特定の機器だけ」を出すシステムピッカーの実装(動く Swift つき)
Bluetooth の全許可ダイアログを避けつつ、ペアリング後の CoreBluetooth 接続を許可プロンプトなしで通す手順
Info.plist の NSAccessorySetupKitSupports / サービス UUID 宣言と、追加・改名・削除イベントの受け方
Stripe による安全な決済 · いつでもキャンセル可能

この記事を購入する

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

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

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

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

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

関連記事

アプリ開発2026-07-05
Rork Max(Swift)と通常版(React Native)、どちらで作るか — 個人開発者のための意思決定フレーム
Rork Max のネイティブ Swift と通常版の React Native、どちらでアプリを作るかを迷ったときの判断軸を、コスト・機能境界・移行のしやすさから整理します。個人開発の視点で書いた意思決定フレームです。
アプリ開発2026-07-03
Rork Max アプリで通信の切断と復帰に強くする — NWPathMonitor によるオフライン検知と再送設計
Rork Max のネイティブ Swift アプリで、電波が切れても壊れない通信設計を NWPathMonitor で組み立てます。オフラインの検知、Low Data Mode やモバイル回線の判定、復帰時の自動再送キューまで、動く Swift コードで示します。
アプリ開発2026-07-03
Rork Max アプリに読み上げ機能を組み込む — AVSpeechSynthesizer の音声選択と発話中ハイライトの設計
Rork Max のネイティブ Swift アプリに読み上げ機能を組み込む実装メモです。AVSpeechSynthesizer の音声選択、発話中の単語ハイライト、オーディオセッションの設計、そして日本語で詰まりやすい落とし穴までまとめました。
📚RECOMMENDED BOOKS
大規模言語モデル入門
山田育矢
LLM開発
生成AIプロンプトエンジニアリング入門
我妻幸長
プロンプト
Claude CodeによるAI駆動開発入門
平川知秀
AI駆動開発
※ アフィリエイトリンクを含みます
もっと見る →