RORK LABEN
MAX — Rork MaxはSwiftのネイティブアプリを生成し、iPhone・iPad・Apple Watch・Apple TV・Vision Pro・iMessageに対応しますPUBLISH — Rork Maxは2クリックでApp Store公開まで進められます。料金は月$200ですRN — 標準のRorkはReact Native(Expo)でiOS/Androidのネイティブアプリを生成。素早く形にするならこちらですPRICE — Rorkは無料で開始でき、有料プランは月$25からですFUND — Rorkはa16zから280万ドルを調達。月間訪問は74.3万を超え、成長率は85%とされていますFLOW — 作りたいアプリを平易な言葉で説明すると、ストアに配信できる動くコードが生成され、カメラや通知など端末機能も使えますMAX — Rork MaxはSwiftのネイティブアプリを生成し、iPhone・iPad・Apple Watch・Apple TV・Vision Pro・iMessageに対応しますPUBLISH — Rork Maxは2クリックでApp Store公開まで進められます。料金は月$200ですRN — 標準のRorkはReact Native(Expo)でiOS/Androidのネイティブアプリを生成。素早く形にするならこちらですPRICE — Rorkは無料で開始でき、有料プランは月$25からですFUND — Rorkはa16zから280万ドルを調達。月間訪問は74.3万を超え、成長率は85%とされていますFLOW — 作りたいアプリを平易な言葉で説明すると、ストアに配信できる動くコードが生成され、カメラや通知など端末機能も使えます
記事一覧/開発ツール
開発ツール/2026-06-19上級

Rork Max アプリが ITMS-91053 で二度と止まらないようにする — Privacy Manifest をリリースごとに証明する運用メモ

Rork Max アプリの ITMS-91053(Required Reason API 未宣言)は、一度直しても依存を足すたびに再発します。依存ツリーを棚卸しして申告を生成し、アップロード前に自分で弾くまでの運用手順を実装メモとしてまとめました。

Privacy Manifest4ITMS-910532Required Reason API3Rork Max174EAS Build14App Store審査8リリース自動化2

プレミアム記事

App Store Connect のバリデーションで ITMS-91053 が出たとき、本当に厄介なのは「一度直しても、また出る」ことです。PrivacyInfo.xcprivacy を一枚足してリジェクトを抜けても、次のリリースで便利そうなライブラリを一つ追加した瞬間、別の理由コードで同じ場所に戻されます。私自身、個人開発でいくつものアプリを App Store に出していますが、この往復は最初の数回で本当に時間を溶かしました。アップロードして、半日後にリジェクトメールを受け取り、原因を調べてビルドし直す——この1サイクルが平気で1日を奪います。

ですから本稿は「PrivacyInfo.xcprivacy の書き方」ではなく、ITMS-91053 を二度とアップロード後に踏まないための運用に振り切ってまとめます。やることは三つです。依存ツリーを棚卸しして対象 API を機械的に特定し、申告を取りこぼしなく集約し、アップロードする前に自分の手元で弾く。この三点を仕組みにしておけば、Rork Max のプロジェクトに新しいライブラリを足しても審査で止まらなくなります。

なぜ「一度直したのにまた出る」のか

Apple の Required Reason API ポリシーは、特定カテゴリの API(UserDefaults・ファイルのタイムスタンプ・空きディスク容量・システム起動時刻など)にアクセスするコードがバイナリに含まれるなら、その使用理由を PrivacyInfo.xcprivacy で申告することを求めます。重要なのは、呼んでいるのが自分のコードでなくても対象になるという点です。Rork Max が書き出すプロジェクトには、ストレージ・通知・解析・課金まわりのライブラリが多数バンドルされ、そのどれかが内部で対象 API に触れていれば申告義務が発生します。

つまり「一度直す」で消えるのは、その時点でバンドルされていたライブラリの分だけです。リリースのたびに依存ツリーは少しずつ変わります。新しいパッケージを足す、既存パッケージのメジャーを上げる、トランジティブ(間接)依存が差し替わる——どれもバイナリに含まれる API の集合を変えます。申告を「最初の提出時に一度書くもの」として扱っている限り、ずれは構造的に再発します。再発を止める唯一の方法は、申告を毎リリース再生成して検証する対象に格上げすることです。

ステップ1: どの依存が Required Reason API を引いているかを洗い出す

最初にやるのは犯人探しではなく、棚卸しです。Apple が定義する対象カテゴリは内部的に固定の識別子を持っており、ビルド成果物や各ライブラリ同梱の PrivacyInfo.xcprivacy を走査すれば、どのカテゴリが関係するかを機械的に拾えます。Rork Max が書き出した ios/ ディレクトリと node_modules を対象に、次のスクリプトを回します。

#!/usr/bin/env bash
# scan-required-reason.sh
# 依存ツリー内の Privacy Manifest と、対象APIカテゴリ参照を棚卸しする
set -euo pipefail
 
PROJECT_ROOT="${1:-.}"
 
echo "== ライブラリ同梱の PrivacyInfo.xcprivacy =="
find "$PROJECT_ROOT/node_modules" -name "PrivacyInfo.xcprivacy" 2>/dev/null \
  | while read -r f; do
      pkg=$(echo "$f" | sed -E 's#.*/node_modules/(@[^/]+/[^/]+|[^/]+)/.*#\1#')
      printf '%-45s %s\n' "$pkg" "$f"
    done
 
echo
echo "== ソース/設定に現れる対象APIカテゴリ =="
grep -rhoE "NSPrivacyAccessedAPICategory[A-Za-z]+" \
  "$PROJECT_ROOT/ios" "$PROJECT_ROOT/node_modules" 2>/dev/null \
  | sort | uniq -c | sort -rn

出力の上段で「自前のマニフェストを持っているライブラリ」が分かり、下段で「プロジェクト全体でどのカテゴリが何回参照されているか」が分かります。ここで頻出するカテゴリこそ、アプリ側マニフェストで確実に申告すべき対象です。Rork Max のプロジェクトでは、@react-native-async-storage/async-storagereact-native-mmkv が UserDefaults を、キャッシュ・同期系のライブラリがファイルのタイムスタンプを引いてくることが多い印象です。

リジェクトメール本文がある場合は、そこに記載された NSPrivacyAccessedAPICategory... を「最低限申告すべきカテゴリの確定リスト」として併用してください。スクリプトの棚卸し結果とメールの両方を突き合わせると、取りこぼしがほぼ無くなります。

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

この記事の続きを読む

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

この記事で得られること
依存ツリーから Required Reason API を引いているライブラリを機械的に洗い出すシェルスクリプト
アプリ側マニフェストとライブラリ側マニフェストの優先順位を踏まえた申告の集約手順
アップロード前に ITMS-91053 を自分で検出して、審査待ちのロスをゼロにするローカル検証フロー
Stripe による安全な決済 · いつでもキャンセル可能

この記事を購入する

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

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

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

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

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

関連記事

開発ツール2026-05-23
Rork 生成 Expo アプリの Privacy Manifest を SDK 連鎖まで監査する — 提出前1日で洗い切る個人開発者の手順
Rork が生成する Expo アプリの依存 SDK を Privacy Manifest 観点で全数監査する手順。Required Reason API の事前検出・PrivacyInfo.xcprivacy 自動収集・ITMS-91053 ゼロでの提出を、個人開発12年の運用視点でまとめます。
開発ツール2026-06-14
Rork で出したアプリが ITMS-91053 で弾かれたら — Privacy Manifest と Required Reason API の実務
Rork が生成する Expo アプリを App Store に提出すると、コードに覚えがなくても Privacy Manifest 関連の警告で止まることがあります。Required Reason API と SDK 側のマニフェスト漏れの両方を、提出前に潰す手順をまとめました。
開発ツール2026-06-14
Rork Max のネイティブアプリに歩数と睡眠を読み込む — HealthKit 連携で「数字に頼らない」癒し系アプリを作る
Rork Max が生成するネイティブ Swift アプリに HealthKit を組み込み、歩数・睡眠・心拍を読み書きする実装を、権限設計とバックグラウンド更新まで含めて整理しました。審査で弾かれやすい使用目的説明や、データが取れない本番特有のハマりどころも実例で解説します。
📚RECOMMENDED BOOKS
大規模言語モデル入門
山田育矢
LLM開発
生成AIプロンプトエンジニアリング入門
我妻幸長
プロンプト
Claude CodeによるAI駆動開発入門
平川知秀
AI駆動開発
※ アフィリエイトリンクを含みます
もっと見る →