RORK LABEN
SDK58 — Expo SDK 58 のベータが始まりました。React Native 0.88 の RC を同梱し、ベータ期間は3〜4週間と公式に書かれています11/01 — Google Play の対象 API レベル、延長を申請した場合の配信期限は11月1日です。残り44日ですEASENV — ローカルビルドに渡したはずの秘密が、中身ではなく変数名の文字列のまま届く、という報告が長く開いたままですNEW — 推奨された移行先が、すでに停止していました。廃止表を74行突き合わせた記録ですUISCENE — iOS 27 では新しい画面ライフサイクルが必須です。SDK 57 では自分で有効にする設定で、既定になるのは 58 からですCREDIT — 「AI のエラーには消費しない」がどこまでを指すのかは、同じ修正を何度か頼んだ日の記録を取ると見えてきますSDK58 — Expo SDK 58 のベータが始まりました。React Native 0.88 の RC を同梱し、ベータ期間は3〜4週間と公式に書かれています11/01 — Google Play の対象 API レベル、延長を申請した場合の配信期限は11月1日です。残り44日ですEASENV — ローカルビルドに渡したはずの秘密が、中身ではなく変数名の文字列のまま届く、という報告が長く開いたままですNEW — 推奨された移行先が、すでに停止していました。廃止表を74行突き合わせた記録ですUISCENE — iOS 27 では新しい画面ライフサイクルが必須です。SDK 57 では自分で有効にする設定で、既定になるのは 58 からですCREDIT — 「AI のエラーには消費しない」がどこまでを指すのかは、同じ修正を何度か頼んだ日の記録を取ると見えてきます
記事一覧/開発ツール
開発ツール/2026-06-14中級

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

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

Rork568Expo209Privacy Manifest4App Store審査8Required Reason API4個人開発211

プレミアム記事

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)、そして UserDefaultsUserDefaults)です。

問題は、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/月 または ¥2,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 の検出結果と配布物の境界の食い違いを、本番プロジェクトの実データで確かめました。
📚RECOMMENDED BOOKS
大規模言語モデル入門
山田育矢
LLM開発
生成AIプロンプトエンジニアリング入門
我妻幸長
プロンプト
Claude CodeによるAI駆動開発入門
平川知秀
AI駆動開発
※ アフィリエイトリンクを含みます