◉ANTIGRAVITY LABEN
記事一覧/連携・プラグイン
⬡ 連携・プラグイン/2026-05-28上級

Antigravity Background Agent で iOS dSYM 欠落を 6 アプリ分まとめて自動回復した運用記録

Firebase の CocoaPods から SPM への移行後、6 本の iOS 壁紙アプリで Crashlytics の解析率が 0% まで落ちた問題を、Antigravity Background Agent で 4 週間かけて自動回復させた実運用記録です。dSYM の所在追跡から Crashlytics への再アップロードまでを並列処理にまとめた設計を共有します。

antigravity464background-agent8ios37firebase11crashlytics5dsymspm個人開発108AdMob13

✦ プレミアム記事

2026 年 3 月、Firebase iOS SDK を CocoaPods から Swift Package Manager に移行した直後から、私の運営している壁紙アプリ 6 本の Crashlytics 解析率がじわじわと下がり始めました。最終的に 4 月初旬には 6 アプリ平均で 4.2% という値を見て、はじめて「これは dSYM が Crashlytics に届いていない」と気づきました。

アーティスト・クリエイターの廣川政樹です。2014 年から iOS / Android の壁紙アプリを個人開発しており、累計ダウンロードは現在 5,000 万を超えています。AdMob からの広告収益が月次の運営費を支える構造のため、Crashlytics でクラッシュ箇所が読めない状態が続くと、不具合修正の優先度を組み立てる土台が崩れます。

私が Antigravity の Background Agent に dSYM の捜索・アップロード・検証を任せ、4 週間で 6 アプリすべての Crashlytics 解析率を 96% 以上まで戻した運用記録を共有します。SPM 移行後の dSYM 欠落は同じパスを通る個人開発者の間でも頻発しているため、再現可能な手順としてまとめました。

なぜ SPM 移行で dSYM が欠落するのか

CocoaPods 時代は Pods.xcodeproj 配下のフレームワーク dSYM がアプリの dSYM と同じ Xcode Archive ディレクトリに収まっていました。Archive を Organizer から App Store Connect に上げると、フレームワーク dSYM も一緒に同梱され、Crashlytics 用の upload-symbols も ${DWARF_DSYM_FOLDER_PATH} を見るだけで全てを拾えました。

SPM に移行すると挙動が一段階複雑になります。Swift Package Manager 配下の .framework には DEBUG_INFORMATION_FORMAT=dwarf-with-dsym が指定されていても、リリースビルドで bitcode が無効化されている場合は dSYM 自体は生成されるものの、アーカイブの dSYMs/ ディレクトリには 必ずしも 全て揃いません。私が観測した 6 アプリでは、FirebaseCrashlytics / FirebaseRemoteConfig / FirebaseAnalytics / GoogleUtilities / nanopb の 5 つは入りましたが、FirebaseCore, FirebaseInstallations, GoogleAppMeasurementIdentitySupport の 3 つが消えていました。

この差を引き起こしているのは Xcode 16.1 以降の dSYM 生成タイミングと SPM のキャッシュ仕様です。アーカイブ時点で Swift Package のキャッシュが新鮮な場合、Xcode は再ビルドを省略し、その結果 dSYM ファイルも新規生成されません。古いビルドフォルダの dSYM が DerivedData/{project}/Build/Products/... に残ったまま、xcodebuild archive がそこから参照しないため、Crashlytics の upload-symbols も拾えないという連鎖が起きます。

4.2% という数字を信用していい理由

問題発覚のきっかけは Firebase コンソールではなく、Antigravity の Background Agent に毎朝 6 時に流している「クラッシュ要約レポート生成タスク」でした。このエージェントは 6 アプリの Crashlytics API(v1)に対して直近 7 日のクラッシュ件数と解析率を集計し、Slack に投稿します。3 月 22 日のレポートに以下のような行が混ざっていました。

[App: Coloring Wallpapers] crashes(7d)=312 symbolicated=39 (12.5%)
[App: Zen Wallpapers]      crashes(7d)=187 symbolicated=8  (4.2%)
[App: Sumi-e Wallpapers]   crashes(7d)=98  symbolicated=2  (2.0%)

通常はどのアプリも 95% 以上の解析率で安定していたため、この急落は明確な異常でした。Background Agent には「解析率が前週比で 30% 以上下がった場合は赤マークと根本原因の仮説を添えること」という指示を入れてあり、3 月 22 日のレポートには「FirebaseCrashlytics SDK の SPM 移行(3 月 14 日)以降に観測される」という仮説まで一緒に提示されました。

仮説が正しい場合に取るべき行動と、間違っていた場合のリスクを比較するため、まず実機 1 台で再現を確認しました。xcrun dwarfdump --uuid で TestFlight ビルドの dSYM 内 UUID を抽出し、Crashlytics に登録されている UUID と突き合わせると、6 アプリ平均で 41% の UUID が欠落していました。Crashlytics の解析率(4.2%)と UUID 欠落率(41%)の差は、UUID が欠落していても部分的にシンボル解決できるクラッシュが含まれるためですが、いずれにせよ dSYM 不足が原因であることは確定しました。

✦

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

この記事の続きを読む

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

この記事で得られること
✦SPM 移行後に発生する dSYM 断片化と Crashlytics 解析率 0% の根本原因を、6 アプリ分の Build Settings 実測から特定する
✦Antigravity Background Agent に xcrun dwarfdump と upload-symbols を並列実行させ、4 週間で 1,847 個の dSYM を 6 リポジトリに横断回収する具体的手順
✦Apple Silicon × Xcode 16 の TestFlight 配信における dSYM 取得待ち時間(実測 8〜36 時間)を考慮した監視ジョブ設計と AdMob 月次レポートとの照合方法
Stripe による安全な決済 · いつでもキャンセル可能
✦

この記事を購入する

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

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

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

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

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

関連記事

⬡ 連携・プラグイン2026-05-23
Apple Search Ads Campaign Management API × Antigravity Agent でキーワード入札を自律調整する実装メモ
ASA Campaign Management API と Antigravity のサブエージェントを組み合わせ、個人開発の壁紙アプリでキーワード入札を自律調整した実装記録。JWT認証、ROAS/CPIに基づくポリシー、Crashlytics連動の安全弁まで。
▣ アプリ開発2026-05-24
iOS Push 通知の A/B 運用を Antigravity Agent で週次回す — 文面・配信時刻・セグメントの自律改善ループ
個人開発で長く運用してきた壁紙系・癒し系アプリの実体験から、iOS Push 通知の A/B を Antigravity Agent に任せる週次運用設計をまとめました。FCM・Firebase Analytics・BigQuery の具体実装に加え、毎週の勝者宣言がどれだけ当たっているかを手元のシミュレータで測り、アーム数と判定条件を測定結果に合わせて直しています。
▣ アプリ開発2026-04-19
Antigravity で構築する iOS アプリ全自動リリースパイプライン — AI がスクリーンショット生成・メタデータ最適化・審査対応まで担う上級実装ガイド
Antigravity × App Store Connect API × GitHub Actions で、ビルドからApp Store審査提出まで全工程を自動化。AI によるスクリーンショット説明文生成・メタデータ最適化・リジェクト対応提案を完全実装する上級ガイド。