Skip to content

Xcode Cloud 設定ファイルエラーの解決

React NativeプロジェクトでXcode Cloudのビルド設定中に発生するunable to open configuration settings fileエラーは、主に依存関係のインストール不足CocoaPods関連の設定不備が原因です。代表的なエラーメッセージ:

unable to open configuration settings file
Pods-XXX.debug.xcconfig:1

エラーが発生する理由

Xcode Cloudのバーチャルマシン環境では、デフォルトでNode.js/Yarn/CocoaPodsなどの依存関係がインストールされていません。このため.xcconfigファイルが正常に生成されず、ビルドが失敗します。


🛠 根本的解決法:ビルド前スクリプトの設定

ステップ1: スクリプトディレクトリの作成

プロジェクトルートにci_scriptsフォルダを作成:

プロジェクトルート/
├── ci_scripts/
├── ios/
└── ... (その他ファイル)

ステップ2: 必須スクリプトファイルの追加

以下の3ファイルをci_scripts内に作成:

zsh
#!/bin/zsh
set -e  # エラー時に停止
set -x  # デバッグログ有効化

echo "🧩 Stage: Post-clone is activated .... "
brew install node yarn cocoapods fastlane  # 依存関係インストール
cd .. && yarn && pod install  # プロジェクト依存関係解決
echo "🎯 Stage: Post-clone is done .... "
exit 0
zsh
#!/bin/zsh
echo "🧩 Stage: PRE-Xcode Build is activated .... "
# 追加スクリプトが必要な場合はここに記述
echo "🎯 Stage: PRE-Xcode Build is done .... "
exit 0
zsh
#!/bin/zsh
echo "🧩 Stage: POST-Xcode Build is activated .... "
# ビルド後の処理(通知設定等)が必要な場合はここに記述
echo "🎯 Stage: POST-Xcode Build is done .... "
exit 0
✅ スクリプト作成後のディレクトリ構造
プロジェクトルート/
├── ci_scripts/
│   ├── ci_post_clone.sh
│   ├── ci_pre_xcodebuild.sh
│   └── ci_post_xcodebuild.sh
├── ios/
│   ├── Podfile
│   └── Pods/
├── ... (その他ファイル)

ステップ3: スクリプトの権限設定(ローカル検証時)

ターミナルで実行権限を付与:

bash
chmod +x ci_scripts/*.sh

🔧 代替解決策と補足アプローチ

1. CocoaPodsの再インストール(スクリプトで解決しない場合)

bash
brew uninstall --cask cocoapods
brew install cocoapods
brew link --overwrite cocoapods

2. 手動でのpod install実行(緊急時対応)

プロジェクトのios/ディレクトリで実行:

bash
cd ios
pod install

3. プラグイン競合の確認

特定のCapacitorプラグインが原因の可能性あり:

bash
npm uninstall 問題のプラグイン名  # 疑わしいプラグインを削除
npx cap sync ios                 # iOS設定の同期

検証手順のアドバイス

  1. Xcode Cloudのログでエラー発生箇所を特定
  2. Pods/Target Support Files内の.xcconfigファイルを確認
  3. 問題のあるプラグインを特定後、順次アンインストールして検証

✨ 効果的な解決法の推奨フロー

技術的背景:Xcode Cloudの仕組み

項目説明
バーチャルマシンクリーン環境のため、毎回依存関係をインストールする必要あり
ビルドステージpost-clonepre-xcodebuild → ビルド実行 → post-xcodebuildの順

注意事項

  • pod installは必ず依存関係変更後に実行
  • Node.jsバージョン管理にはnvmを推奨(Brewで直接インストールも可)
  • Fastlane導入により配布処理を自動化可能

最終アプローチ:上記スクリプト設定で90%以上のケースが解決。環境固有の問題が残る場合はbrew doctorで環境チェックを実施。