RORK LABEN
NATIVE — Rork Max では AR / LiDAR スキャン、Metal を使った 3D、Dynamic Island、Siri Intents、HealthKit、NFC、App Clips、Core ML まで届きますIOS27 — iOS 27 Developer Beta 4 で Siri AI の対象が iPhone 15 Pro / 15 Pro Max・16 シリーズ・17 系へ広がり、応答が初期ベータより明確に速くなりましたDESIGN — iOS・iPadOS・macOS 27 向けの Apple 純正デザインキットが Figma と Sketch 向けに公開されました。新 OS の UI を組む段階で参照できますCANARY — Android 17(Cinnamon Bun)は従来の Developer Preview を廃し、継続更新される Canary ビルドへ移行しました。検証のタイミング設計が変わりますSPARK — Android 17 の Gemini Spark は、アプリを直接操作して配車の予約や注文といった複合的な作業を自動化しますSCALE — Rork は a16z から $2.8M を調達し、月間訪問は74万件規模まで伸びていますNATIVE — Rork Max では AR / LiDAR スキャン、Metal を使った 3D、Dynamic Island、Siri Intents、HealthKit、NFC、App Clips、Core ML まで届きますIOS27 — iOS 27 Developer Beta 4 で Siri AI の対象が iPhone 15 Pro / 15 Pro Max・16 シリーズ・17 系へ広がり、応答が初期ベータより明確に速くなりましたDESIGN — iOS・iPadOS・macOS 27 向けの Apple 純正デザインキットが Figma と Sketch 向けに公開されました。新 OS の UI を組む段階で参照できますCANARY — Android 17(Cinnamon Bun)は従来の Developer Preview を廃し、継続更新される Canary ビルドへ移行しました。検証のタイミング設計が変わりますSPARK — Android 17 の Gemini Spark は、アプリを直接操作して配車の予約や注文といった複合的な作業を自動化しますSCALE — Rork は a16z から $2.8M を調達し、月間訪問は74万件規模まで伸びています
記事一覧/開発ツール
開発ツール/2026-06-16上級

Rork Max のネイティブアプリから HomeKit のアクセサリを操作する — 個人開発で踏んだ権限と状態同期の勘所

Rork Max が生成するネイティブ Swift アプリに HomeKit を組み込み、自宅のアクセサリを一覧・操作する実装を、権限ダイアログの設計から状態同期の落とし穴まで通しで整理しました。React Native では届きにくい領域を、個人開発の実運用目線で押さえます。

Rork Max231HomeKitSwift48スマートホーム権限設計4状態同期

プレミアム記事

スマートホーム連携の要望は、壁紙アプリのような小さな個人開発プロダクトにも意外な形で届きます。「寝室の照明と連動して、夜は画面も暗いテーマに切り替わってほしい」。そう言われたとき、自前でデバイスと通信するのではなく、iPhone がすでに束ねている HomeKit のアクセサリを借りる方が、ユーザーにとっても自然だと感じました。

ところが HomeKit は、React Native のブリッジ越しに扱おうとすると途端に手が重くなる領域です。Rork Max はブラウザ上でネイティブ Swift アプリを生成できるため、HomeKit を import すればアクセサリの一覧取得から操作まで、Apple が公開している型へ素直に手が届きます。ここでは生成コードに HomeKit を足していく過程を、権限まわりと状態同期という二つの難所を中心に整理します。

React Native ではなくネイティブで触りたい理由

HomeKit は Swift / Objective-C から直接呼ぶことを前提に設計されたフレームワークです。Expo(React Native)からでもコミュニティ製ブリッジで触れなくはありませんが、アクセサリの種類が増えるたびにブリッジの対応状況に振り回されます。私自身、検証用の Expo アプリで調光対応の照明を扱おうとして、ブリッジが明るさ特性(characteristic)の書き込みを公開しておらず、結局ネイティブ側に逃がした経験があります。

Rork Max が出力するのは素のネイティブアプリなので、HMCharacteristicTypePowerState のような特性に最初から触れます。ただしネイティブだからこそ、権限ダイアログの出し方と HomeKit 特有の非同期な状態反映を正しく踏まないと、審査でも本番でも静かに失敗します。そこを順に押さえていきましょう。

Step 1: Capability と使用目的を最小限で宣言する

最初に行うのは権限の宣言です。Rork Max のプロジェクト設定で HomeKit の Capability を有効化したうえで、使用目的を Info.plist に書きます。ここで抽象的な文面にすると、App Store の審査で「なぜこのアプリに必要なのか」を問われ、差し戻しの原因になります。

<key>NSHomeKitUsageDescription</key>
<string>ご自宅の照明のオン・オフと連動して、画面テーマを自動で切り替えるために使用します。</string>

ポイントは、許可ダイアログにそのまま表示される文章なので、「何を」「何のために」操作するのかを具体的に書くことです。私の場合、初回提出で文面が曖昧だという指摘を受けて差し戻されました。誠実に書くことが、結果としてユーザーの信頼にもつながります。

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

この記事の続きを読む

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

この記事で得られること
HMHomeManager の初期化タイミングと NSHomeKitUsageDescription の書き方を、審査で差し戻されない具体的な Info.plist と Swift コードで把握できます
「アクセサリが一覧に出てこない」という HomeKit 特有の本番症状を、デリゲートの登録順序という原因まで切り分けられるようになります
照明のオン・オフを実機で確実に反映させるための状態同期パターンと、私自身が個人開発で採用した判断基準が得られます
Stripe による安全な決済 · いつでもキャンセル可能

この記事を購入する

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

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

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

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

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

関連記事

開発ツール2026-06-14
Rork Max のネイティブアプリに歩数と睡眠を読み込む — HealthKit 連携で「数字に頼らない」癒し系アプリを作る
Rork Max が生成するネイティブ Swift アプリに HealthKit を組み込み、歩数・睡眠・心拍を読み書きする実装を、権限設計とバックグラウンド更新まで含めて整理しました。審査で弾かれやすい使用目的説明や、データが取れない本番特有のハマりどころも実例で解説します。
開発ツール2026-07-18
AR で置いたものが翌朝には消えている — ARWorldMap による配置の永続化とリローカライズ設計
Rork Max が生成する AR アプリは、置いた 3D オブジェクトがアプリ再起動で消えます。ARWorldMap の保存タイミング、カスタムアンカーの符号化、リローカライズ待ちの見せ方、成立しない時の逃げ道までを設計として整理しました。
開発ツール2026-07-17
Rork の App Store 提出が「輸出コンプライアンス」で毎回止まるのを設定1行で終わらせる
Rork と Rork Max のビルドを App Store Connect に上げるたびに出る Missing Compliance 警告。免除の判断基準と、app.json / Info.plist で恒久的に消す設定、消えない場合の原因を整理しました。
📚RECOMMENDED BOOKS
大規模言語モデル入門
山田育矢
LLM開発
生成AIプロンプトエンジニアリング入門
我妻幸長
プロンプト
Claude CodeによるAI駆動開発入門
平川知秀
AI駆動開発
※ アフィリエイトリンクを含みます
もっと見る →