RORK LABEN
TOOLING — Rorkの開発者向けリポジトリが動き続けています。rork-xcodeが7月16日、rork-deviceが7月15日、rork-plistが7月13日に更新されましたOPUS46 — RorkでClaude Opus 4.6が稼働しています。Rork MaxはClaude Codeを土台にアプリを組み立てる設計ですSIM — ブラウザ上で動くクラウドのiOSシミュレータを備え、実機へのインストールは1クリック、App Storeへの提出は2クリックと案内されていますMAX — Rork MaxはReact Nativeではなく純粋なSwiftを出力します。iPhone・iPad・Apple Watch・Apple TV・Vision Pro、そしてiMessageまでが射程ですNATIVE — HealthKit、ARKitとLiDAR、NFC、Dynamic Island、Live Activities、Metalによる3D、Core MLのオンデバイス推論まで扱えますSEED — RorkはLeft Lane Capitalが主導する1,500万ドルのシードラウンドを実施し、Peak XVとa16z Speedrunが参加しましたTOOLING — Rorkの開発者向けリポジトリが動き続けています。rork-xcodeが7月16日、rork-deviceが7月15日、rork-plistが7月13日に更新されましたOPUS46 — RorkでClaude Opus 4.6が稼働しています。Rork MaxはClaude Codeを土台にアプリを組み立てる設計ですSIM — ブラウザ上で動くクラウドのiOSシミュレータを備え、実機へのインストールは1クリック、App Storeへの提出は2クリックと案内されていますMAX — Rork MaxはReact Nativeではなく純粋なSwiftを出力します。iPhone・iPad・Apple Watch・Apple TV・Vision Pro、そしてiMessageまでが射程ですNATIVE — HealthKit、ARKitとLiDAR、NFC、Dynamic Island、Live Activities、Metalによる3D、Core MLのオンデバイス推論まで扱えますSEED — RorkはLeft Lane Capitalが主導する1,500万ドルのシードラウンドを実施し、Peak XVとa16z Speedrunが参加しました
記事一覧/開発ツール
開発ツール/2026-05-03中級

Rork書き出しiOSプロジェクトの「pod install」が止まる — Apple Silicon時代の現実的な直し方

Rorkで生成したiOSプロジェクトのpod installが失敗する原因を、Apple Silicon Mac特有のRubyアーキテクチャ問題、CocoaPodsバージョン競合、Hermes/Folly関連の落とし穴まで具体的に解説します。

CocoaPods3pod installApple SiliconiOS108ビルドエラー8Rork515Expo149トラブルシューティング77

Rork でアプリの形が見えてきて、いざ手元の Mac で iOS プロジェクトを開こうとすると、ターミナルに真っ赤なエラーが流れる——多くの人がここで一度詰まります。原因のほとんどは Rork ではなく、ローカルの Ruby・CocoaPods・Xcode の組み合わせ問題です。M1 以降の Apple Silicon Mac が当たり前になってから、この層のトラブルは目に見えて増えました。

私自身、Rork で書き出したプロジェクトを複数の Mac に持ち込む過程で、毎回違うパターンの pod install 失敗に遭遇してきました。原因のパターンは限られていて、しかも対処は驚くほど機械的に決まります。ここでは私が実際にハマってきた順に5つのパターンを並べていきます。

なぜ Rork プロジェクトで pod install がよく止まるのか

Rork は React Native + Expo ベースのコードを生成します。ローカルでビルドする際は npx expo prebuild などでネイティブプロジェクト(ios/ ディレクトリ)を作り、その中で CocoaPods が依存ライブラリを引っ張ってきます。つまり Rork 自体ではなく、pod install が走る瞬間にホスト環境の歪みが一気に表面化するわけです。

特に問題が出やすいのは次の3つの軸です。Ruby のインストール方法(システム Ruby か rbenv か asdf か)、CocoaPods のバージョン、Xcode コマンドラインツールのパス。どれか一つがずれているだけで、何も触っていないのに突然ビルドが通らなくなります。

パターン1:Apple Silicon Mac で ffi gem がロードできない

最も遭遇率が高いのがこれです。エラーメッセージは大抵こんな形をしています。

LoadError - dlopen(.../ffi_c.bundle, 0x0009):
tried: '.../ffi_c.bundle' (mach-o file, but is an incompatible architecture
(have 'x86_64', need 'arm64'))

原因は、Ruby のバイナリが x86_64 でビルドされているのに、pod install は arm64 で動こうとしていることです。Rosetta 2 環境で一度インストールしたものが残っているケースもあります。

対処は二つあります。一つは Rosetta を使わずに arm64 ネイティブで動かす方法です。

# 現在のアーキテクチャを確認
arch
# arm64 と表示されることを確認
 
# ffi を arm64 で再インストール
sudo gem uninstall ffi
sudo arch -arm64 gem install ffi
 
# CocoaPods 自体も arm64 で入れ直す
sudo arch -arm64 gem install cocoapods

もう一つは、Rosetta 環境を明示的に使う方法です。これは古い CocoaPods で書かれた Podfile を扱うときに有効です。

# Rosetta 経由で pod install
arch -x86_64 pod install

判断の基準としては、新規プロジェクトなら arm64 ネイティブで揃える、既存の古いプロジェクトを引き継いだ場合だけ Rosetta フォールバックを検討する、という順番がおすすめです。混在させると後から原因切り分けが難しくなります。

パターン2:システム Ruby と rbenv/asdf の Ruby が衝突している

macOS には初期状態でシステム Ruby(/usr/bin/ruby)が入っています。一方で Homebrew や rbenv、asdf 経由でも Ruby を入れている人が多く、gem install cocoapods がどの Ruby に対して動いたのか分からなくなりがちです。

確認は次のコマンドで一発です。

which ruby
which gem
which pod
ruby -v

期待する出力は、たとえば rbenv を使っているなら次のようになります。

/Users/yourname/.rbenv/shims/ruby
/Users/yourname/.rbenv/shims/gem
/Users/yourname/.rbenv/shims/pod
ruby 3.2.2 (2023-03-30 revision e51014f9c0) [arm64-darwin23]

pod のパスが /usr/local/bin/pod/opt/homebrew/bin/pod なのに、ruby だけ rbenv のパスが返ってくる場合は不整合です。pod を入れた Ruby と、現在シェルが参照する Ruby がずれています。

対処は、現在のシェルが指している Ruby に対して cocoapods を入れ直すことです。

# rbenv を使っている場合
rbenv local 3.2.2  # プロジェクトに固定
gem install cocoapods
rbenv rehash
pod --version

Ruby のバージョンは Rork のテンプレートが想定するものに合わせるのが無難です。Expo SDK 50 以降は Ruby 3.2 系で安定しています。逆にシステム Ruby(macOS 標準)の 2.6.10 を直接使うのは、警告が大量に出るので避けたほうが快適です。

パターン3:CocoaPods のバージョンが新しすぎて Podfile を解釈できない

最近 gem install cocoapods を打つと、何も指定しなければ最新版(執筆時点で 1.16 系)が入ります。一方で Rork が生成する Podfile は、Expo SDK のテンプレートに付随する形で 1.141.15 系を想定して書かれていることが多く、まれに次のような警告が出ます。

[!] CDN: trunk Repo update failed - 28 error(s):
CDN: trunk URL couldn't be downloaded ...

これはネットワークエラーに見えますが、実際は CocoaPods Specs リポジトリの更新で詰まっているケースが多いです。次の順序で潰していきます。

# 1. CocoaPods のキャッシュをクリア
pod cache clean --all
 
# 2. Specs リポジトリを最新化
pod repo update
 
# 3. それでもダメならローカル Specs を一度消す
rm -rf ~/.cocoapods/repos/trunk
pod setup

それでも解決しない場合、CocoaPods のバージョンを Expo の推奨に合わせて落とすのが確実です。

sudo gem uninstall cocoapods
sudo gem install cocoapods -v 1.15.2
pod --version  # 1.15.2 と出ることを確認

「最新が常に正しい」と考えがちですが、React Native / Expo 周辺は CocoaPods のメジャーアップに対する追従がワンテンポ遅れることがあります。テンプレートが想定しているバージョンに合わせるほうが、結果的に時間を節約できます。

パターン4:Xcode のコマンドラインツールが指している場所が違う

pod install の途中で次のようなエラーが出る場合、Xcode のパス設定が原因です。

xcrun: error: SDK "iphoneos" cannot be located
xcrun: error: unable to lookup item 'PlatformPath' in SDK 'iphoneos'

新しい Xcode に入れ替えた直後や、Command Line Tools 単体だけが入っている状態でよく起きます。xcode-select で参照先を Xcode 本体に向け直します。

# 現在のパスを確認
xcode-select -p
 
# /Library/Developer/CommandLineTools のような出力が返ってきたらズレている
sudo xcode-select -s /Applications/Xcode.app/Contents/Developer
 
# 確認
xcode-select -p
# /Applications/Xcode.app/Contents/Developer に変わっていればOK

加えて、Xcode を起動して一度ライセンスに同意していないと、コマンドラインから Xcode の機能を呼び出した瞬間に止まります。

sudo xcodebuild -license accept

このあたりは「Mac を新しく買い替えた」「macOS をアップグレードした」「Xcode をベータ版に変えた」のいずれかで再発しやすいので、ローカルビルドが急に通らなくなったら真っ先に疑う場所です。

パターン5:Hermes・Folly のコンパイル中に C++ エラーで落ちる

pod install 自体は通っても、その直後の xcodebuild 段階で HermesRCT-Folly のコンパイルが失敗するケースがあります。エラーメッセージは膨大ですが、根本原因はだいたい次のどれかに収束します。

第一に、ios/Podfile の Hermes 有効化フラグと、app.json / app.config.js の設定が食い違っているケース。Expo が New Architecture を有効にしようとしている一方、Podfile 側で :hermes_enabled => true が伝わっていないと不整合が起きます。Rork が出力する app.json を見て、"newArchEnabled" の値を確認してください。

第二に、Xcode 16 以降と古い Folly の組み合わせで C++17 関連のエラーが出るケース。これは React Native のバージョンを 0.74 以上に上げるか、Podfilepost_install フックで CLANG_CXX_LANGUAGE_STANDARDc++17 に固定することで回避できます。

最終手段として、ios/ ディレクトリを一度捨てて作り直すのが最も確実です。

# プロジェクトルートで
rm -rf ios
rm -rf node_modules
npm install  # または yarn / bun install
 
# Expo の prebuild で iOS プロジェクトを再生成
npx expo prebuild -p ios --clean
 
cd ios
pod install

expo prebuild --clean は破壊的なので、ios/ 配下に手書きで加えた変更がある場合は事前にバックアップを取ってください。一方で「いつの間にか Podfile を書き換えていて、何が原因か分からない」という状態になっているなら、思い切って作り直したほうが結果的に早いです。

デバッグの順序を固定しておくと迷わない

エラーが出るたびに行き当たりばったりで対処していると、毎回同じ場所でハマります。私は次の順序を固定して、上から潰すようにしています。

最初に archwhich ruby / pod を確認して環境の整合性を見る、次に pod --versionxcode-select -p で外部要因を確認する、それでも分からなければ ios/ を一度作り直す。この順序なら、ほとんどのケースで30分以内に切り分けが終わります。

Rork 自体は AI でアプリを作れる優秀なツールですが、生成された後のローカルビルドは結局 React Native の世界です。CocoaPods 周りの基礎知識を一度押さえておくと、Rork に限らず他の React Native プロジェクトでも同じパターンで対処できます。

関連する内容として、Rork React Native ビルドエラー完全解決ガイド 2026 や Rork EAS Build CI/CD パイプラインを GitHub Actions で構築する も合わせて読むと、ローカル/クラウド両方のビルド戦略が見えてきます。

まずは手元の Mac で archwhich pod を実行して、自分の環境がどのパターンに当たるかを確認してみてください。原因さえ特定できれば、対処自体は5分で終わるはずです。

シェア

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

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

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

もしこの記事がお役に立ちましたら、チップ(¥150)で応援いただけると大変励みになります。広告なしでの運営を続けるため、皆さまのご支援が大きな力になっています。

関連記事

開発ツール2026-05-21
RorkでビルドしたiOSアプリがTestFlightで「ITMS-90683」拒否される — Info.plistの使用目的文字列の埋め方
Rork書き出しのiOSアプリをApp Store Connectに提出した直後、メールで「ITMS-90683: Missing Purpose String in Info.plist」を受け取る現象について、原因とapp.jsonからの恒久的な修正手順を、12年間の個人開発で繰り返しハマってきた立場から具体的に説明します。
開発ツール2026-05-01
Rork で EAS Update を配信したのに反映されない — 原因を切り分ける5つの典型パターン
Rork で EAS Update を publish したのにアプリ側に反映されない、というのは慣れていてもうっかり詰まるトラブルです。よくある5つの原因と、ターミナルで5分以内に切り分ける手順を実例ベースで紹介します。
開発ツール2026-04-25
Rork でアプリアイコンを変更したのに反映されない時の対処法
Rork でアプリアイコンを差し替えたのに古いアイコンが残る — iOS のアイコンキャッシュ、EAS Build のビルドキャッシュ、Android のアダプティブアイコン未設定など、原因別に確実な対処法をまとめました。
📚RECOMMENDED BOOKS
大規模言語モデル入門
山田育矢
LLM開発
生成AIプロンプトエンジニアリング入門
我妻幸長
プロンプト
Claude CodeによるAI駆動開発入門
平川知秀
AI駆動開発
※ アフィリエイトリンクを含みます
もっと見る →