CLAUDE LABEN
FORK — Claude Code 2.1.212で/forkの挙動が変わりました。会話を新しいバックグラウンドセッションへ複製し、作業を続けたまま並走できます。従来のセッション内サブエージェントは/subtaskに移りましたLIMITS — WebSearchの呼び出しがセッション単位で既定200回に制限されました。サブエージェントの起動も既定200回が上限で、暴走した検索・委譲のループを止められますMCPBG — 2分を超えるMCPツール呼び出しは自動的にバックグラウンドへ移り、セッションが固まらなくなりました。しきい値はCLAUDE_CODE_MCP_AUTO_BACKGROUND_MSで調整できますPLANFIX — プランモードがtouchやrmといったファイルを変更するBashコマンドを、許可プロンプトもcanUseToolコールバックも通さずに実行してしまう不具合が修正されましたSONNET5 — Claude Sonnet 5は導入価格として入力100万トークンあたり2ドル、出力10ドルで提供中です。8月31日を過ぎると3ドルと15ドルに戻りますIPO — Anthropicが早ければ10月の株式公開を視野に、引受銀行が投資家との面談を組み始めたと報じられていますFORK — Claude Code 2.1.212で/forkの挙動が変わりました。会話を新しいバックグラウンドセッションへ複製し、作業を続けたまま並走できます。従来のセッション内サブエージェントは/subtaskに移りましたLIMITS — WebSearchの呼び出しがセッション単位で既定200回に制限されました。サブエージェントの起動も既定200回が上限で、暴走した検索・委譲のループを止められますMCPBG — 2分を超えるMCPツール呼び出しは自動的にバックグラウンドへ移り、セッションが固まらなくなりました。しきい値はCLAUDE_CODE_MCP_AUTO_BACKGROUND_MSで調整できますPLANFIX — プランモードがtouchやrmといったファイルを変更するBashコマンドを、許可プロンプトもcanUseToolコールバックも通さずに実行してしまう不具合が修正されましたSONNET5 — Claude Sonnet 5は導入価格として入力100万トークンあたり2ドル、出力10ドルで提供中です。8月31日を過ぎると3ドルと15ドルに戻りますIPO — Anthropicが早ければ10月の株式公開を視野に、引受銀行が投資家との面談を組み始めたと報じられています
記事一覧/Claude Code
Claude Code/2026-05-18上級

Apple Privacy Manifest を個人開発で取り回す — 依存ライブラリの追従漏れを Claude Code で防ぐ実装

Apple Privacy Manifest(PrivacyInfo.xcprivacy)の運用は、個人開発者が依存ライブラリのバージョンアップに振り回されやすい領域です。累計5,000万ダウンロードの iOS アプリ群を運用してきた経験から、Claude Code を使った追従漏れ検出・申請拒否対応・CI 組み込みまでの実装をまとめます。

Claude Code198Apple Privacy ManifestPrivacyInfo.xcprivacyiOS24個人開発110App Store7依存ライブラリ

プレミアム記事

2014年から個人で iOS アプリを作り続けて12年目に入り、累計5,000万ダウンロードを超えるあたりからは、Apple のポリシー変更に振り回される時間が機能開発と同じくらいの比重を占めるようになりました。中でも 2024 年に必須化された Apple Privacy Manifest(PrivacyInfo.xcprivacy)は、個人開発者にとって厄介な領域です。理由は単純で、自分のコードだけでなく、依存している SDK の側にも対応版が揃っていないと申請が通らないからです。

Beautiful HD Wallpapers のように長期運用しているアプリでは、AdMob・Firebase Analytics・RevenueCat といった SDK が混在しています。あるとき AdMob を一段上のバージョンに上げたら、ストア申請で「Privacy Manifest に必要な NSPrivacyAccessedAPITypes が宣言されていない」と返ってきました。同じ更新を、別の癒し系アプリでは半年前に通しているのに、です。差分は一目では分からず、結局 1 日を Privacy Manifest の比較に溶かしました。本記事はその経験を踏まえ、Claude Code に追従作業をどこまで任せられるかを、運用中のワークフローと差分つきで書きます。

なぜ個人開発者ほど Privacy Manifest に振り回されるのか

Privacy Manifest は、Apple が 2024 年春以降のリリースで段階的に必須化した宣言ファイルです。アプリ本体だけでなく、Apple が指定する「commonly used APIs」を呼ぶ SDK にも、対応する宣言ファイルの同梱が求められました。個人開発者にこれが重く感じられる理由は、構造的に三つあります。

ひとつ目は、依存ライブラリの数に対して、各 SDK の対応速度が一律ではないこと。一般的な iOS アプリは AdMob、Firebase、Sign in with Apple、SwiftLint、Reachability 系ユーティリティ……と、すぐに 20 を超えます。個人開発では、これら全てを朝のメール 1 通で監視する仕組みを持っていない場合がほとんどです。

ふたつ目は、追加した瞬間は問題ない依存が、半年後の更新で突然 required reasons を要求してくること。Apple のリストはじわじわ拡張されており、UserDefaultsfileTimestampsystemBootTimediskSpace 等が後発で対象に加わりました。これらは古い個人開発アプリほど無意識に使っています。

みっつ目は、申請拒否時にメッセージが断片的なこと。リジェクト本文には「NSPrivacyAccessedAPITypes に対応する宣言が見当たりません」とだけ書かれるパターンが多く、どの SDK が原因で、どの API カテゴリに対する宣言が足りないのか、自分で照合する必要があります。

この 3 つを毎月の運用に組み込むには、AI に「監視と差分案の生成」を任せる仕組みが現実的です。

Privacy Manifest と Required Reasons API の関係を最短で整理する

ここから先の章のために、最低限の語彙だけ揃えておきます。

PrivacyInfo.xcprivacy には大きく 4 つのキーを宣言します。NSPrivacyTracking はトラッキングの有無、NSPrivacyTrackingDomains はトラッキングを行う通信先、NSPrivacyCollectedDataTypes はアプリが収集するデータの種類、そして NSPrivacyAccessedAPITypes が今回の主役で、Apple が指定する「commonly used APIs」を使う場合の理由を宣言する配列です。

Required Reasons API として現時点で対象となっているのは、File timestamp APIsSystem boot time APIsDisk space APIsActive keyboard APIsUser defaults APIs などのカテゴリです。各カテゴリにはあらかじめ用意された理由コード(例: User Defaults APIs には CA92.11C8F.1C56D.1AC6B.1 といった ID)が割り当てられ、複数を配列で宣言できます。

実際のファイルはこういう形になります。

<!-- PrivacyInfo.xcprivacy の最小実装例 -->
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
  <key>NSPrivacyTracking</key>
  <true/>
  <key>NSPrivacyTrackingDomains</key>
  <array>
    <string>googleads.g.doubleclick.net</string>
  </array>
  <key>NSPrivacyCollectedDataTypes</key>
  <array/>
  <key>NSPrivacyAccessedAPITypes</key>
  <array>
    <dict>
      <key>NSPrivacyAccessedAPIType</key>
      <string>NSPrivacyAccessedAPICategoryUserDefaults</string>
      <key>NSPrivacyAccessedAPITypeReasons</key>
      <array>
        <string>CA92.1</string>
      </array>
    </dict>
    <dict>
      <key>NSPrivacyAccessedAPIType</key>
      <string>NSPrivacyAccessedAPICategoryFileTimestamp</string>
      <key>NSPrivacyAccessedAPITypeReasons</key>
      <array>
        <string>C617.1</string>
      </array>
    </dict>
  </array>
</dict>
</plist>

注意したいのは、NSPrivacyAccessedAPITypeReasons の値は理由コードであって、自由記述ではないという点です。User Defaults APIs の場合は CA92.1(同じアプリ内での読み書き)、AC6B.1(管理者からの設定取得)など、ユースケースごとに ID が決まっています。Claude Code に生成してもらうときは、後述するように Apple 公式の理由コード一覧をプロンプトに含めておくのがコツです。

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

この記事の続きを読む

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

この記事で得られること
Apple Privacy Manifest と Required Reasons API の関係を、個人開発者が現場で必要な粒度だけ抜き出して整理できます
依存ライブラリの追加・更新時に Privacy Manifest の追従漏れを検出する Claude Code ワークフローを、実コマンドつきで持ち帰れます
App Store Connect の申請拒否ログから差分パッチを生成し、Privacy Manifest を更新して再申請するまでの導線を再現できます
Stripe による安全な決済 · いつでもキャンセル可能

この記事を購入する

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

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

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

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

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

関連記事

Claude Code2026-07-08
自コードの Required Reason API 申告漏れを Claude Code で棚卸しする
PrivacyInfo.xcprivacy の理由コードは、依存ライブラリだけでなく自分のコードにも必要です。個人開発の壁紙アプリで申告漏れを見つけた経験から、Swift ソースを走査して該当 API と理由コードを突き合わせる Claude Code ワークフローをまとめます。
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駆動開発
※ アフィリエイトリンクを含みます
もっと見る →