RORK LABEN
BUILD — Rork Max はクラウド上の実機 Mac に Xcode と iOS SDK を載せ、SwiftUI を書き、ビルドし、エラーを読んで直す反復を回します。コードを吐いて終わりではない点が生成物の質に効いていますNATIVE — 生成されるのは React Native ではなく純粋な Swift / SwiftUI です。AR や Metal、ウィジェットなど React Native からは届かない機能に手が届くことが、他ビルダーとの実質的な差になりますPLATFORMS — 対応は iPhone・iPad・Apple Watch・Apple TV・Vision Pro に加えて iMessage まで含みます。ウォッチや拡張から入る設計を試すのに向いていますCOMPANION — Rork Companion により、有料の Apple Developer アカウントなしで生成したアプリを実機の iPhone で確認できます。最初の一本を試す段階の障壁が一段下がりましたPRICING — 無料で開始でき有料プランは月額25ドルから、Rork Max は月額200ドルの Max プランです。回収できる本数と規模を先に見積もっておく価値がありますDEADLINE — Google Play は2026年8月31日以降、新規アプリと更新の双方に対象 API レベル36 以上を要求します。残り10日で、生成物の targetSdkVersion は自分で確認が必要ですBUILD — Rork Max はクラウド上の実機 Mac に Xcode と iOS SDK を載せ、SwiftUI を書き、ビルドし、エラーを読んで直す反復を回します。コードを吐いて終わりではない点が生成物の質に効いていますNATIVE — 生成されるのは React Native ではなく純粋な Swift / SwiftUI です。AR や Metal、ウィジェットなど React Native からは届かない機能に手が届くことが、他ビルダーとの実質的な差になりますPLATFORMS — 対応は iPhone・iPad・Apple Watch・Apple TV・Vision Pro に加えて iMessage まで含みます。ウォッチや拡張から入る設計を試すのに向いていますCOMPANION — Rork Companion により、有料の Apple Developer アカウントなしで生成したアプリを実機の iPhone で確認できます。最初の一本を試す段階の障壁が一段下がりましたPRICING — 無料で開始でき有料プランは月額25ドルから、Rork Max は月額200ドルの Max プランです。回収できる本数と規模を先に見積もっておく価値がありますDEADLINE — Google Play は2026年8月31日以降、新規アプリと更新の双方に対象 API レベル36 以上を要求します。残り10日で、生成物の targetSdkVersion は自分で確認が必要です
記事一覧/開発ツール
開発ツール/2026-07-06中級

クラウド同期フォルダでアプリ開発するとビルドが壊れる — 生成物を同期から外して根治した話

Dropbox や iCloud Drive に置いたプロジェクトで、ある朝ビルドが通らなくなりました。原因は同期がビルド生成物に割り込んで作る競合コピー。node_modules や Pods を同期対象から外して再発を止めるまでの手順を、個人開発の実体験としてまとめます。

開発環境2DropboxiCloud3ビルドエラー8Expo175個人開発198

プレミアム記事

「(廣川政樹さんの競合コピー)」というファイルが Pods の中に増えているのに気づいたのは、ある朝ビルドが赤で止まったときでした。同じヘッダが二重に見えて、リンカが混乱している。前の晩まで普通に動いていたプロジェクトです。

犯人はクラウド同期でした。私はソースコードを Dropbox の中に置いて複数マシンで開発しているのですが、その同期がビルド生成物にまで手を伸ばし、書き込みの最中に割り込んで「競合コピー」を作っていたのです。ソースをクラウドに置くこと自体は悪くありません。落とし穴は、同期する必要のない生成物まで同期していたことでした。

同じ構成で開発している個人開発者は少なくないと思います。ここでは、私が Dolice のプロジェクト群でこの問題を根治した手順を残しておきます。

なぜ同期フォルダでビルドが壊れるのか

ビルドは、短時間に大量のファイルを生成・上書き・削除します。node_modules の展開、Pods のインストール、コンパイラの中間生成物。これらが書き込まれている最中に、クラウド同期クライアントが「変更を検知した」と反応してアップロードを始めます。

ここで2つの厄介が起きます。ひとつは、複数マシンやバージョン履歴との間で同じファイルに別々の変更が入り、同期クライアントが解決できずに競合コピーを作ること。もうひとつは、同期がファイルを一時的にロックしたりプレースホルダ化したりして、ビルドツールが期待した実体を読めなくなることです。

つまり壊れているのはコードではなく、コードの周りにある生成物の状態です。だから「クリーンして再ビルドすると直る」のに、数日するとまた壊れる。私の環境では、生成物を同期対象に含めたままだと、この再発率は体感でほぼ100%でした。原因が生成物の同期にある限り、対処療法では止まりません。

同期から外すべきディレクトリ

判断基準はシンプルです。再生成できるものは同期しない。 ソースと設定ファイルだけ同期し、コマンド一発で作り直せるものは全て除外します。

ディレクトリ正体再生成方法
node_modules/npm 依存パッケージnpm install
ios/Pods/CocoaPods 依存pod install
~/Library/Developer/Xcode/DerivedData/Xcode 中間生成物ビルドで再生成
ios/build/ · android/build/ビルド成果物ビルドで再生成
.gradle/ · android/.gradle/Gradle キャッシュビルドで再生成
.expo/ · .expo-shared/Expo のローカルキャッシュ起動時に再生成
*.xcworkspace/xcuserdata/ · .swiftpm/ユーザー固有状態・SPM 作業領域不要/再生成

.git は同期しても致命傷にはなりませんが、私は履歴の競合を避けるため、クラウド同期とは別に GitHub をリモートとして使い、.git 自体も除外対象に含めています。この構成を推奨します。

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

この記事の続きを読む

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

この記事で得られること
同期フォルダでビルドが不定期に壊れて原因が掴めなかった人が、なぜ壊れるのかを理解し、その日のうちに除外設定で止められる
node_modules・Pods・DerivedData など、同期から外すべき生成物の一覧と、Dropbox / iCloud それぞれの除外手順を手に入れられる
プロジェクト作成時に一度流すだけで生成物を同期対象外にする再利用スクリプトを、自分の環境にそのまま組み込める
Stripe による安全な決済 · いつでもキャンセル可能

この記事を購入する

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

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

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

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

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

関連記事

開発ツール2026-08-17
Expo UI の drop-in 置き換えで、依存が本当に1本減る条件
Expo UI が SDK 56 で安定版になり、コミュニティ製パッケージ8件に drop-in の置き換えが用意されました。import を1行入れ替えても依存が減らない場合があります。減る条件を依存グラフから機械的に判定する手順をまとめました。
開発ツール2026-08-14
ライセンス表示に載せる依存は、lockfile の dev/prod では決まりません
AI ビルダーが書き出したプロジェクトの依存を実際に分類し、ライセンス表示に載せる範囲をどう決めたかの記録です。copyleft の検出結果と配布物の境界の食い違いを、本番プロジェクトの実データで確かめました。
開発ツール2026-07-04
「続きを読む」を出すべきか、テキストの実測で決める — Rork(Expo)の折りたたみ表示設計
商品説明やレビュー本文を3行で畳み「続きを読む」を出す実装で、短い文にまでトグルが付いてしまう問題を解決します。onTextLayout で実際の行数を測り、はみ出す時だけトグルを出す設計を、iOS と Android の差、展開アニメーション、文字サイズ拡大への配慮まで動くコードでまとめます。
📚RECOMMENDED BOOKS
大規模言語モデル入門
山田育矢
LLM開発
生成AIプロンプトエンジニアリング入門
我妻幸長
プロンプト
Claude CodeによるAI駆動開発入門
平川知秀
AI駆動開発
※ アフィリエイトリンクを含みます
もっと見る →