◉RORK LABEN
●GPT-6.1 SOL — Rork のモデルメニューに追加(09-29)。Low/Medium/High を選べ、Pro・Max に含まれます●SONNET 5.5 — UI づくりが得意で、Sonnet 5 より出力が速いモデルが選べます(09-28)●SONNET 4.5 — Claude API での提供終了は 11/30、残り27日。API 連携を足したアプリは移行先の確認を●SDK 58 — React Native 0.88 に更新されました。Android のリリース版で R8 が既定オンになり、iOS は SceneDelegate を生成します●OBSERVE — EAS Observe がネイティブクラッシュも記録します(SDK 57.0.21 以降・10/07)●NEW — 起動広告が、背面から戻った回にしか出ていませんでした。「前面に戻った」合図が、…●GPT-6.1 SOL — Rork のモデルメニューに追加(09-29)。Low/Medium/High を選べ、Pro・Max に含まれます●SONNET 5.5 — UI づくりが得意で、Sonnet 5 より出力が速いモデルが選べます(09-28)●SONNET 4.5 — Claude API での提供終了は 11/30、残り27日。API 連携を足したアプリは移行先の確認を●SDK 58 — React Native 0.88 に更新されました。Android のリリース版で R8 が既定オンになり、iOS は SceneDelegate を生成します●OBSERVE — EAS Observe がネイティブクラッシュも記録します(SDK 57.0.21 以降・10/07)●NEW — 起動広告が、背面から戻った回にしか出ていませんでした。「前面に戻った」合図が、…
記事一覧/開発ツール
⬡ 開発ツール/2026-06-14中級

Rork で出したアプリが ITMS-91053 で弾かれたら — Privacy Manifest と Required Reason API の実務

Rork が生成する Expo アプリを App Store に提出すると、コードに覚えがなくても Privacy Manifest 関連の警告で止まることがあります。Required Reason API と SDK 側のマニフェスト漏れの両方を、提出前に潰す手順をまとめました。

Rork611Expo234Privacy Manifest4App Store審査10Required Reason API4個人開発234

✦ プレミアム記事

App Store Connect にビルドをアップロードした数分後、件名に「ITMS-91053」と書かれたメールが届く——個人開発で長くアプリを出してきましたが、この警告に最初に当たったときは正直、何を指摘されているのか分かりませんでした。自分ではプライバシーに関わる API を書いた覚えがないからです。

Rork が生成するのは Expo(React Native)のアプリで、ネイティブのコードは自分でほとんど書きません。にもかかわらずこの警告が出るのは、原因が「自分の JavaScript」ではなく、その下で動く Expo や各種 SDK のネイティブ層にあるからです。ここを理解しないまま提出を繰り返すと、審査に出す前のリジェクトで時間を溶かし続けることになります。Rork で出したアプリを想定し、Privacy Manifest 周りを提出前に潰すための実務を、私自身が踏んだ順番で具体的に追っていきます。

ITMS-91053 と ITMS-91061 はまったく別の問題です

まず混同しがちな2つを分けます。両方ともメールで届きますが、原因も対処も違います。

ITMS-91053 は「Missing API declaration」、つまり Required Reason API(後述)を使っているのに、その理由を PrivacyInfo.xcprivacy に宣言していないという指摘です。これは多くの場合、自分のアプリ本体(または薄いネイティブ層)の話です。

ITMS-91061 は「Missing privacy manifest」で、Apple が指定する『よく使われるサードパーティ SDK』が、署名付きのマニフェストを同梱していないという指摘です。AdMob(Google Mobile Ads SDK)や各種解析 SDK がここに該当します。こちらは自分では直せず、SDK のバージョンを上げて解決するのが基本です。

最初の頃の私は、この2つを同じ「プライバシーの警告」として一緒に直そうとして、片方だけ直して再提出し、また同じメールが来る、というループにはまりました。最初に番号で切り分けるのが結局いちばん早いです。

Required Reason API とは何で、なぜ Expo アプリで踏むのか

Required Reason API は、フィンガープリンティングに悪用されやすい一部の OS API です。使うこと自体は許されていますが、「なぜ使うのか」を理由コードで宣言する義務があります。代表的なのは次の4カテゴリです。

ファイルのタイムスタンプ(NSPrivacyAccessedAPICategoryFileTimestamp)、ディスク空き容量(DiskSpace)、システム起動時刻(SystemBootTime)、そして UserDefaults(UserDefaults)です。

問題は、Expo アプリではこれらを「自分で呼んでいなくても踏む」点にあります。UserDefaults は React Native の AsyncStorage や多くのライブラリが内部で使いますし、ファイルのタイムスタンプはキャッシュ管理ライブラリが触ります。つまり Rork で機能を足していくほど、知らないうちに該当 API が増えていきます。

✦

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

この記事の続きを読む

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

この記事で得られること
✦提出直後に届く ITMS-91053 / ITMS-91061 メールの意味を、自分のコードと SDK のどちらが原因かまで切り分けられるようになります
✦PrivacyInfo.xcprivacy に書く NSPrivacyAccessedAPITypes と理由コードを、Rork 生成アプリで踏みやすい4つに絞って最小実装できます
✦AdMob など『よく使われる SDK』のマニフェスト署名漏れを、Expo の config plugin と依存更新で恒久的に塞ぐ運用に落とし込めます
Stripe による安全な決済 · いつでもキャンセル可能
✦

この記事を購入する

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

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

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

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

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

関連記事

⬡ 開発ツール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 から拾う照合まで、個人開発の運用としてまとめました。
⬡ 開発ツール2026-09-03
リンクを押してもアプリが開かないとき、疑うのは assetlinks.json の置き場所より先に署名鍵です
Android App Links が検証されずブラウザに吸われる原因の多くは指紋の食い違いです。keytool の実出力と、手元で照合できる小さな検査スクリプトの実行結果を添えて整理しました。
⬡ 開発ツール2026-08-14
ライセンス表示に載せる依存は、lockfile の dev/prod では決まりません
AI ビルダーが書き出したプロジェクトの依存を実際に分類し、ライセンス表示に載せる範囲をどう決めたかの記録です。copyleft の検出結果と配布物の境界の食い違いを、本番プロジェクトの実データで確かめました。