◉RORK LABEN
●EXPO — EAS Observe がネイティブクラッシュも記録(10/07)。SDK 57 は 57.0.21 以降で確認できます●SDK 58 — SDK 58 Beta は 9/15 公開。stable の日付はまだ未確認です●RN 0.88 — React Native 0.88.x の正式リリース予定は 10/12、残り3日●Q&A — expo-widgets が本番ビルドだけ真っ黒になる、という問いが出ています●RORK — 09-29 に GPT-6.1 Sol を追加。Pro・Max プランで利用できます●NEW — クライアントのアプリを作る前に決める、公開アカウントの持ち主●EXPO — EAS Observe がネイティブクラッシュも記録(10/07)。SDK 57 は 57.0.21 以降で確認できます●SDK 58 — SDK 58 Beta は 9/15 公開。stable の日付はまだ未確認です●RN 0.88 — React Native 0.88.x の正式リリース予定は 10/12、残り3日●Q&A — expo-widgets が本番ビルドだけ真っ黒になる、という問いが出ています●RORK — 09-29 に GPT-6.1 Sol を追加。Pro・Max プランで利用できます●NEW — クライアントのアプリを作る前に決める、公開アカウントの持ち主
記事一覧/開発ツール
⬡ 開発ツール/2026-06-26上級

Rorkで作ったアプリの審査が、プライバシーマニフェスト不備で止まらないようにする

RorkのExpoアプリでApp Store審査が止まる原因になりがちなPrivacyInfo.xcprivacyとRequired Reason APIへの対応を、app.config.tsの設定・収集データの申告・サードパーティSDKの確認手順・提出前の検証スクリプトまで実務的に整理します。

Rork577Expo213プライバシーマニフェストApp Store89Required Reason API4

✦ プレミアム記事

アプリを提出して、もう通ったと思った頃に Apple から1通のメールが届く。「あなたのアプリは理由が宣言されていない API を使っています」という、あの ITMS で始まる警告です。私自身、個人開発で複数のアプリを App Store と Google Play に出していますが、この通知を最初に受け取ったときは、何を直せばいいのか見当がつかず手が止まりました。

Rork が出力するのは Expo(React Native)のアプリで、内部では多くのネイティブ API とサードパーティ SDK が動いています。Apple は2024年以降、一部の API について「使う理由」をプライバシーマニフェストで宣言することを必須化しました。宣言が無いと、いまは警告メールですが、いずれリジェクトに格上げされます。Rork のプロジェクトで、この対応を自分のコード側とSDK側の両面から進めていきます。

何が求められているのか

Apple が要求しているのは大きく二つです。

  1. アプリが収集するデータの種類と用途を宣言する「プライバシーマニフェスト」(PrivacyInfo.xcprivacy)の同梱。
  2. 「Required Reason API」と呼ばれる特定の API について、なぜ使うのかを所定のコードで宣言すること。

Required Reason API は、ファイルのタイムスタンプ、ディスク空き容量、システム起動時刻、UserDefaults といった、フィンガープリンティングに悪用されうる API 群です。正規の用途で使っているなら、決められた理由コードを宣言するだけで通ります。問題は、これらを「自分では直接呼んでいないのに、依存ライブラリが呼んでいる」ケースが大半だという点です。

この二つは別々の要求です。片方だけ整えても、もう片方の不足は残ります。後半でそれぞれを分けて書いていきます。

まず警告メールの読み方を押さえる

提出後に届くメールには、たとえば「NSPrivacyAccessedAPICategoryUserDefaults の理由が宣言されていません」といった形で、不足している API カテゴリが列挙されます。ここを読み飛ばさないことが対処の出発点です。

私が最初にやったのは、メールに並んだカテゴリ名をそのまま控え、それぞれが「自分のコード由来か、SDK由来か」を切り分ける作業でした。UserDefaults のようにアプリ本体でも使うものは自分側、広告 SDK が内部で触っているものは SDK 側、と仕分けると、直す場所が一気に明確になります。

✦

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

この記事の続きを読む

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

この記事で得られること
✦Expoのどの機能がどのAPIカテゴリを踏むかを対応表で先回りし、警告メールを待たずに宣言を用意できる
✦Required Reason APIの宣言と、NSPrivacyCollectedDataTypesによる収集データの申告という別枠の要求を、両方とも取りこぼさずに書ける
✦提出前の同梱チェックをexit codeを返すスクリプトに落とし込み、毎回のリリースで機械的に検証できる
Stripe による安全な決済 · いつでもキャンセル可能
✦

この記事を購入する

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

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

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

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

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

関連記事

⬡ 開発ツール2026-08-20
ベータ SDK でビルドしたアプリは、TestFlight には配れても審査には出せません
ベータ版の Xcode でビルドしたアプリは TestFlight には配布できますが、App Store の審査には提出できません。手元のビルドがどの SDK で作られたかを確認する方法と、eas.json で提出用ビルドを守る設定をまとめました。
⬡ 開発ツール2026-08-14
ライセンス表示に載せる依存は、lockfile の dev/prod では決まりません
AI ビルダーが書き出したプロジェクトの依存を実際に分類し、ライセンス表示に載せる範囲をどう決めたかの記録です。copyleft の検出結果と配布物の境界の食い違いを、本番プロジェクトの実データで確かめました。
⬡ 開発ツール2026-05-23
Rork 生成 Expo アプリの Privacy Manifest を SDK 連鎖まで監査する — 提出前1日で洗い切る個人開発者の手順
Rork が生成する Expo アプリの依存 SDK を Privacy Manifest 観点で全数監査する手順です。Required Reason API の事前検出、ITMS-91053 と ITMS-91061 の切り分け、npm では見えない Pod を Podfile.lock から拾う照合まで、個人開発の運用としてまとめました。
📚RECOMMENDED BOOKS
大規模言語モデル入門
山田育矢
LLM開発
生成AIプロンプトエンジニアリング入門
我妻幸長
プロンプト
Claude CodeによるAI駆動開発入門
平川知秀
AI駆動開発
※ アフィリエイトリンクを含みます