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-24上級

Claude Code で「死蔵 SDK」を計画的に剥がす — 個人開発12年で堆積した非アクティブ依存を安全に棚卸しする運用設計

個人開発12年で iOS/Android の壁紙アプリ4本に堆積した、もう誰も使っていないのに依存だけ残り続けている SDK — それを Claude Code で安全に棚卸しして剥離するパイプラインを、実コードと数値付きで共有します。

Claude Code197SDK整理技術的負債2CocoaPods2SPMGradle個人開発110iOS24Android6

プレミアム記事

「このアプリ、たしか 2018 年に入れた A/B テスト SDK がまだ Podfile に残っていますね」— Claude Code のセッションでそう指摘されたとき、思わず手が止まりました。アプリ自体は 2014 年から動かしていて、当時の自分はその SDK を真剣に評価して導入したはずです。でも、いつの間にか管理画面にもアクセスしなくなり、SDK のメジャーアップデートに追従するコストだけが毎リリース小さく積み上がっていました。

個人開発で 12 年もアプリを続けていると、こういう「死蔵 SDK」(dormant SDK)が必ず溜まります。広告ネットワーク、分析ツール、プッシュ通知、A/B テスト、クラッシュレポート、リモートコンフィグ — どれも導入時は理由がありました。けれど、その理由はもう失われていて、Podfile・Package.swift・build.gradle の中にだけ生き続けています。

私の壁紙アプリは 4 本あって、累計 5,000 万ダウンロードを超えています。1 本あたり数十個の SDK が入っており、4 本合計すると 100 を超える依存を管理することになります。これを手動で棚卸しするのは、もう現実的ではありません。そこで 4 週間ほど Claude Code に剥離パイプラインを組ませて回した結果、合計バイナリを 18.3% 削減できました。冷たいビルドも平均 31 秒短くなり、4 本の Privacy Manifest の更新も必要なくなりました。

この記事は、その 4 週間で確立した「死蔵 SDK 棚卸し → 安全な剥離 → 回帰検知」の運用設計を、実コードと数値付きで残しておくものです。同じように「12 年分の堆積」と戦っている個人開発者の方の役に立てば嬉しいです。

なぜ「使ってない SDK」を放置すると毎月コストが発生するのか

死蔵 SDK を放置することの直接的なコストは、見えにくい場所に分散しています。私が 4 週間の運用で観測した範囲では、次の 4 つに整理できました。

  1. バイナリサイズ: 1 SDK あたり 200KB〜2.5MB。4 本のアプリ × 平均 5 個の死蔵 SDK で、合計 12〜60MB の無駄が発生していました
  2. 冷たいビルド時間: 各 SDK の依存解決と初期化で、Xcode の冷たいビルドは 1 SDK あたり 3〜8 秒長くなります。Claude Code でビルド待ちが発生するたびに、私の集中も切れます
  3. Privacy Manifest / Data Safety: Apple は 2024 年 5 月以降、依存 SDK の Privacy Manifest を再帰的に集計します。使ってもいない SDK のデータ収集申告が、Apple/Google のレビューを巻き込む形で残り続けます
  4. セキュリティアラート: GitHub Dependabot や Snyk が「使ってもいない SDK の CVE」で毎月通知を上げてきます。本当に対応が必要な PR との優先度判別が鈍ります

3 番目は特に厄介で、2019 年に吉祥寺駅上空で見た光の輪をきっかけに視覚作品を作り始めてから、私は壁紙アプリのプライバシー周りを「作品としての誠実さ」と紐付けて考えるようになりました。死蔵 SDK のデータ収集申告を残しておくことは、その誠実さに対して小さく嘘をついている状態に近いと感じます。

「剥がせる SDK」と「剥がせない SDK」を分ける 3 軸スコア

剥離の難しさは、依存マニフェストには現れません。Podfile で pod 'XyzSDK' と書かれていても、実際のコードで一切呼ばれていない場合もあれば、初期化コードだけ残っていて API はほぼ使われていない場合もあります。逆に、ほんの 1 ファイルだけが import していて、しかもその 1 ファイルが Bridging Header 経由で呼ばれていて grep に引っかからない、ということもあります。

そこで、Claude Code に判定させる前に、機械的にスコアリングできる 3 軸を定義しておきました。

  • Reach Score(到達度): そのモジュールが、現在のエントリポイントから呼び出されているかを抽象構文木で追跡したスコア。0〜100
  • Symbol Density(記号密度): ソース全体に対する SDK の公開シンボル出現密度。grep ベースで雑に取れる
  • Bridge Risk(ブリッジリスク): Objective-C Bridging Header、Kotlin/Java 相互呼び出し、Method Swizzling など、静的解析で見えない経路の有無

この 3 軸で、たとえば Reach=0, Density=0.0001, Bridge=Low の SDK は「ほぼ確実に剥がせる」、Reach=0, Density=0, Bridge=High の SDK は「危険、剥がすには動的検証が必要」というように、Claude に投入する前段で粒度を揃えておきます。これをやらずに「全部の SDK を Claude に判定させて」と依頼すると、Claude は丁寧にすべての SDK を「リスクあり」と評価してしまい、結果として何も剥がせません。

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

この記事の続きを読む

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

この記事で得られること
iOS(CocoaPods/SPM)と Android(Gradle)を横断する依存スキャン → 危険度スコアリング → 剥離 PR 自動生成 までの一連のスクリプトを、コピーして動く形で公開しています
「剥がせる SDK」と「剥がせない SDK」を Claude にハイブリッド判定させるための、AST + grep + Symbol Resolution の併用設計と、誤判定を 8 割減らした実測例を解説します
壁紙アプリ4本で4週間運用して、合計バイナリを 18.3% 削減・冷たいビルド時間を平均 31 秒短縮・廃止された広告 SDK 3 種類を完全剥離できた、運用ログ付きの実装ノートです
Stripe による安全な決済 · いつでもキャンセル可能

この記事を購入する

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

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

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

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

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

関連記事

Claude Code2026-05-23
壁紙アプリ 4 本の月次コンテンツ更新を Claude Code に任せた 3 ヶ月の所感
Beautiful HD Wallpapers をはじめとする壁紙アプリ 4 本の月次コンテンツ更新を、2026 年 2 月から Claude Code に任せ始めました。新しい壁紙の追加・カテゴリ分類・メタデータ更新を 3 ヶ月続けてみて気づいた、AI に任せられる範囲と、自分の手を残しておきたい範囲の境界について書きます。
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 の解決を待ってから広告を開始する形へ直した実装を共有します。
📚RECOMMENDED BOOKS
大規模言語モデル入門
山田育矢
LLM開発
生成AIプロンプトエンジニアリング入門
我妻幸長
プロンプト
Claude CodeによるAI駆動開発入門
平川知秀
AI駆動開発
※ アフィリエイトリンクを含みます
もっと見る →