◉ANTIGRAVITY LABEN
記事一覧/アプリ開発
▣ アプリ開発/2026-06-27上級

Dropbox 同期のフォルダで Antigravity エージェントに Xcode を任せると、ビルドが時々壊れる理由

クラウド同期フォルダに置いた Xcode プロジェクトを Antigravity のエージェントに触らせると、ビルドが日替わりで成功したり失敗したりします。同期デーモンとビルドの競合という原因と、xattr による除外・衝突コピー検査までを実装視点でまとめます。

antigravity460xcode5dropboxios37automation54

✦ プレミアム記事

ある週、夜間に走らせていた Antigravity のエージェントが、同じタスクなのに三日に一度くらいの割合で失敗するようになりました。ログを見ると pod install の途中でロックファイルが壊れていたり、xcodebuild が「存在するはずのファイルが見つからない」と言って止まっていたりします。手元で同じコマンドを叩くと、何事もなく通る。エラーの場所も毎回少しずつ違う。こういう「再現しない失敗」は、たいていコードではなく環境のほうに原因があります。

私自身、iOS のアプリを App Store と Google Play で個人開発として長く運用していて、作業フォルダはずっと Dropbox で複数の Mac に同期しています。便利な反面、この同期がエージェントの無人実行と相性が悪い瞬間があることに、しばらく気づけませんでした。原因は、同期デーモンとビルドが同じディレクトリを同時に触っていたことでした。

同じコマンドなのに、成功と失敗が日替わりで入れ替わる

最初に疑うべきは、自分のコードでも Antigravity のエージェント本体でもありません。「失敗の場所が毎回ずれる」「手元では再現しない」「特定の時間帯に偏る」——この三つが揃ったら、まず環境の非決定性を疑います。

クラウド同期フォルダの上でビルドすると、次の二つのプロセスが同じファイルを取り合います。

プロセスやっていること触るディレクトリ
ビルド(xcodebuild / pod install)中間生成物を秒単位で大量に作成・削除build/, Pods/, DerivedData/, .swiftpm/
同期デーモン(Dropbox 等)変化したファイルを検知してアップロード・再ダウンロード同期対象フォルダ全体

ビルドが書いた瞬間のファイルを同期デーモンがアップロードし始め、その途中でビルドが同じファイルを上書きすると、同期側は「両方を残す」と判断して衝突コピーを作ります。Podfile.lock (○○ のコンフリクトしたコピー).lock のようなファイルが生まれ、次のビルドがそれを掴むと整合性が崩れます。人間が対話的に作業しているときは、たまたまその一瞬に当たらないので気づきにくいのですが、エージェントを一日に何度も無人で回すと、衝突に当たる確率が無視できなくなります。

同期デーモンとビルドが同じディレクトリを取り合っている

ここで大事なのは、これは Antigravity のバグでも CocoaPods のバグでもない、ということです。どのエージェント・どのビルドツールを使っていても、高頻度で書き換わるディレクトリをファイル同期の対象に含めている限り、同じ競合が起きます。

特に壊れやすいのは次のような場所です。.swiftpm/xcuserdata のように Xcode が裏で頻繁に書き換えるメタデータ、Pods/ のように一括で再生成される依存ツリー、build/ や DerivedData/ のような中間生成物。これらは「いつ消えて再生成されてもよい」性質のもので、別の Mac と共有する価値がそもそもありません。共有したいのはソースコードであって、ビルドの残骸ではないはずです。

✦

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

この記事の続きを読む

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

この記事で得られること
✦成功と失敗が日替わりで入れ替わる『再現しないビルド失敗』の正体を、同期デーモンとビルドの競合として切り分けられるようになる
✦build / Pods / .swiftpm などの揮発ディレクトリを xattr で同期から外し、クリーンビルドで印が消える問題まで Run Script で塞ぐ手順を持ち帰れる
✦エージェントを走らせる前に衝突コピーの混入を検査するプリフライトを組み、無人実行で壊れたリポジトリを掴ませない設計を自分の環境に適用できる
Stripe による安全な決済 · いつでもキャンセル可能
✦

この記事を購入する

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

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

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

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

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

関連記事

▣ アプリ開発2026-08-29
ビルドが通ったことは、pbxproj の編集が正しかった証明になりません
エージェントに project.pbxproj を編集させると、ビルドは緑のままリソースやスクリプトだけが静かに外れます。構造で確かめる4つの検査と、1,200ファイル規模でも0.1秒で終わる監査スクリプトを、iOS アプリの実運用の側からまとめます。
▣ アプリ開発2026-04-19
Antigravity で構築する iOS アプリ全自動リリースパイプライン — AI がスクリーンショット生成・メタデータ最適化・審査対応まで担う上級実装ガイド
Antigravity × App Store Connect API × GitHub Actions で、ビルドからApp Store審査提出まで全工程を自動化。AI によるスクリーンショット説明文生成・メタデータ最適化・リジェクト対応提案を完全実装する上級ガイド。
▣ アプリ開発2026-10-08
agy CLI をコンテナで動かす前に、擬似 agy で確かめておく 3 つの安全網
Antigravity CLI(agy)を Docker や Cloud Run のジョブから呼ぶ前に、インストーラーの取りこぼし・承認待ちの固まり・終了コード 0 の空振りを、擬似 agy で再現して潰します。公式 docs の記述と、手元で実行した結果だけを根拠に組み立てた手順です。
📚RECOMMENDED BOOKS
大規模言語モデル入門
山田育矢
LLM開発
生成AIプロンプトエンジニアリング入門
我妻幸長
プロンプト
Claude CodeによるAI駆動開発入門
平川知秀
AI駆動開発
※ アフィリエイトリンクを含みます