CLAUDE LABEN
MODEL — Claude Sonnet 5が全プランとClaude Codeの既定モデルになり、100万トークンあたり入力$2・出力$10(8月31日まで)で利用できますFABLE — 米商務省の輸出規制解除を受け、7月1日よりClaude Fable 5とMythos 5へのアクセスが順次復旧していますSCIENCE — 研究者向けAIワークベンチ「Claude Science」がPro・Max・Team・Enterprise向けにベータ提供されていますGATEWAY — Amazon BedrockとGoogle Cloud向けのClaude apps gatewayでSSO・ポリシー・ロール別アクセス・ユーザー単位のコスト按分が可能になりましたENTERPRISE — Claude Enterpriseに詳細な管理分析・モデル単位のエンタイトルメント・支出アラートが追加されましたCODE — Claude Sonnet 5がClaude Codeの既定モデルとなり、100万トークンのネイティブコンテキストに対応しますMODEL — Claude Sonnet 5が全プランとClaude Codeの既定モデルになり、100万トークンあたり入力$2・出力$10(8月31日まで)で利用できますFABLE — 米商務省の輸出規制解除を受け、7月1日よりClaude Fable 5とMythos 5へのアクセスが順次復旧していますSCIENCE — 研究者向けAIワークベンチ「Claude Science」がPro・Max・Team・Enterprise向けにベータ提供されていますGATEWAY — Amazon BedrockとGoogle Cloud向けのClaude apps gatewayでSSO・ポリシー・ロール別アクセス・ユーザー単位のコスト按分が可能になりましたENTERPRISE — Claude Enterpriseに詳細な管理分析・モデル単位のエンタイトルメント・支出アラートが追加されましたCODE — Claude Sonnet 5がClaude Codeの既定モデルとなり、100万トークンのネイティブコンテキストに対応します
記事一覧/Claude Code
Claude Code/2026-07-08上級

自コードの Required Reason API 申告漏れを Claude Code で棚卸しする

PrivacyInfo.xcprivacy の理由コードは、依存ライブラリだけでなく自分のコードにも必要です。個人開発の壁紙アプリで申告漏れを見つけた経験から、Swift ソースを走査して該当 API と理由コードを突き合わせる Claude Code ワークフローをまとめます。

Claude Code186iOS24App Store7プライバシー2個人開発101

プレミアム記事

昨年の春、壁紙アプリの一本を更新して App Store に提出したところ、数時間後に「ITMS-91053: Missing API declaration」という通知が届きました。依存ライブラリのマニフェストは整えていたはずなのに、なぜ弾かれたのか。原因は自分のコードでした。設定値の保存に何気なく使っていた UserDefaults が、Apple の言う Required Reason API に該当していたのです。

Required Reason API の議論は、どうしても SDK 側の追従に寄りがちです。けれど申告が必要なのは、あなた自身が書いたコードも同じです。ここでは自コードの走査に的をしぼり、Claude Code を使って申告漏れを棚卸しし、PrivacyInfo.xcprivacy に理由コードを埋めるまでの流れを書きます。依存ライブラリ側の追従については別記事の依存ライブラリの追従漏れを防ぐ実装に譲ります。

なぜ「自コード」が見落とされるのか

Required Reason API は、名前が仰々しい割に、日常的に使う地味な API の集まりです。設定の保存に使う UserDefaults、ファイルの更新日時を読む modificationDate、空き容量を確認する volumeAvailableCapacityKey、端末の稼働時間を測る systemUptime。どれも「プライバシー」という言葉から連想する派手さがありません。だからこそ、宣言が要るという意識が働かないまま、コードの奥に沈んでいます。

私の場合、申告漏れは3箇所ありました。オンボーディングの完了フラグを保存する UserDefaults、キャッシュ画像の鮮度を判定する modificationDate、ダウンロード前に空き容量を見る volumeAvailableCapacityForImportantUsageKey です。いずれも数年前に書いたコードで、当時はまだこの制度が存在しませんでした。手作業で全ソースを追う気力はなく、機械的に洗い出す仕組みが要ると感じました。

対象となる4カテゴリと理由コード

自コードで踏みやすいのは、次の4カテゴリです。それぞれに Apple が定めた理由コードがあり、.xcprivacy にはカテゴリと理由コードの両方を書きます。

カテゴリ(NSPrivacyAccessedAPIType)踏みやすい API個人開発でよく使う理由コード
UserDefaultsUserDefaults / NSUserDefaultsCA92.1(自アプリ・App Group 内のみで利用)
FileTimestampmodificationDate / creationDate / statC617.1(ユーザーに表示)/ 3B52.1(自コンテナ内)
DiskSpacevolumeAvailableCapacity… / systemFreeSize85F4.1(ユーザーに表示)/ E174.1(空き不足回避のための書き込み)
SystemBootTimesystemUptime / mach_absolute_time35F9.1(端末内でのイベント間計測)

理由コードは似た文言が並ぶため、機械的に「一つに決める」ことはできません。スクリプトはあくまで候補を提示するところまでを担い、最終的にどの理由が実態に合うかは開発者が選びます。正確な一覧はApple の Required Reason API ドキュメントで必ず確認してください。

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

この記事の続きを読む

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

この記事で得られること
UserDefaults・ファイル日時・ディスク容量など4カテゴリの Required Reason API を自コードから検出する Python スクリプト
検出したシンボルを .xcprivacy の理由コードへ突き合わせ、審査却下メール(ITMS-91053)を未然に防ぐ手順
Claude Code に走査と差分チェックを任せ、リリースのたびに申告漏れを再発させない運用設計
Stripe による安全な決済 · いつでもキャンセル可能

この記事を購入する

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

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

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

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

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

関連記事

Claude Code2026-05-18
Apple Privacy Manifest を個人開発で取り回す — 依存ライブラリの追従漏れを Claude Code で防ぐ実装
Apple Privacy Manifest(PrivacyInfo.xcprivacy)の運用は、個人開発者が依存ライブラリのバージョンアップに振り回されやすい領域です。累計5,000万ダウンロードの iOS アプリ群を運用してきた経験から、Claude Code を使った追従漏れ検出・申請拒否対応・CI 組み込みまでの実装をまとめます。
Claude Code2026-07-06
同意ダイアログより先に広告SDKを初期化していた — Claude Code で ATT と AdMob の順序を直す
起動と同時に広告SDKを開始すると、ATT の同意が取れる前に IDFA が空のまま初期化され、フィルレートは正常なのに計測だけが薄くなります。散らばった初期化順序を Claude Code で洗い出し、ATT の解決を待ってから広告を開始する形へ直した実装を共有します。
Claude Code2026-06-30
新型 iPhone で壁紙がぼやける問題を Claude Code で直す — 端末別解像度の振り分けを安全に増やす
新しい iPhone が出るたびに壁紙アプリで画像がぼやけたり余白が出たりする原因と、散らばった端末分岐を一枚のテーブルに集約して安全に拡張する方法を、Claude Code を使った実際のリファクタリング工程として共有します。
📚RECOMMENDED BOOKS
大規模言語モデル入門
山田育矢
LLM開発
生成AIプロンプトエンジニアリング入門
我妻幸長
プロンプト
Claude CodeによるAI駆動開発入門
平川知秀
AI駆動開発
※ アフィリエイトリンクを含みます
もっと見る →