◉CLAUDE LABEN
●2.1.301 — vim の % モーション、VS Code パネルでの LaTeX 数式表示、使用量上限待ちのリトライ監視の上限が入りました(10/15)●2.1.299 — 200K トークン超で約54分放置した会話はアイドル圧縮。MCP の許可ルールは名指ししたサーバーだけに一致します●SONNET 4.5 — Claude API での提供終了は 11/30、残り45日。移行先は Sonnet 5.5●WINDOWS — 日本語の環境でだけフックが黙って壊れる報告があり、文字コードの確認が呼びかけられています●FAST MODE — Opus 5.5 の Fast mode がリサーチプレビューを終え、ベータヘッダーが不要になりました(10/15)●NEW — Cowork に渡したフォルダの先頭に、十行の約束ファイルを置いてみました●2.1.301 — vim の % モーション、VS Code パネルでの LaTeX 数式表示、使用量上限待ちのリトライ監視の上限が入りました(10/15)●2.1.299 — 200K トークン超で約54分放置した会話はアイドル圧縮。MCP の許可ルールは名指ししたサーバーだけに一致します●SONNET 4.5 — Claude API での提供終了は 11/30、残り45日。移行先は Sonnet 5.5●WINDOWS — 日本語の環境でだけフックが黙って壊れる報告があり、文字コードの確認が呼びかけられています●FAST MODE — Opus 5.5 の Fast mode がリサーチプレビューを終え、ベータヘッダーが不要になりました(10/15)●NEW — Cowork に渡したフォルダの先頭に、十行の約束ファイルを置いてみました
記事一覧/Claude Code
⟐ Claude Code/2026-05-24上級

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

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

Claude Code265SDK整理技術的負債CocoaPodsSPMGradle個人開発130iOS26Android7

✦ プレミアム記事

「このアプリ、たしか 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-10-12
SPM に移したら、起動した瞬間にアプリが落ちるようになりました — dyld の一行を Claude Code と読み解いた記録
CocoaPods から Swift Package Manager へ移した直後、ビルドは通るのに起動した瞬間に落ちました。dyld の一行から原因を切り分け、直し方と確認コマンドまでをまとめます。
⟐ Claude Code2026-09-04
Claude Code に project.pbxproj だけは直接触らせていません
Xcode のプロジェクトファイルは、開けなくなる壊れ方より開けてしまう壊れ方のほうが高くつきました。直接編集をやめてスクリプト経由に寄せるまでに測ったことと、いま引いている線を書き残します。
⟐ Claude Code2026-05-18
Play Store 段階公開を Claude Code で自動監視する — v2.1.0 クラッシュ対応から学んだリリース戦略
Android アプリの段階公開(5%→100%)を Claude Code で自動監視するシステムの実装記録。Beautiful HD Wallpapers v2.1.0 での RecyclerView クラッシュ対応を例に、Crash-free Users 99.7% 基準の自動判定・ロールバック判断ロジックを詳解します。