我正在处理一个 React Native 项目,设置 Xcode Cloud 构建。
我不断收到此错误:
unable to open configuration settings file
Pods-XXX.debug.xcconfig:1
我的工作区中的文件如下所示:
|-- XXX
|-- Pods
|. -- Podfile
|. -- Targets Support Files
|. -- Pods-XXX
|. -- Pods-XXX.debug
你猜怎么着? XCode 是垃圾,但文档可以帮助我们。
这就是我用来顺利构建我的工作流程的方法。我将在这里分享确切的 bash 脚本。
为什么会失败?
首先在工作流程窗口侧栏上打开日志。
在运行存档过程之前检查是否安装了必要的依赖项。您使用的是虚拟机,因此默认情况下不会安装任何依赖项(例如 cocoapods 或 YARN)。
如果您还没有阅读并跳至解决方案:
步骤如下:
在根文件夹中创建
ci_scripts
文件夹。
在
ci_scripts
文件夹内创建3个文件:
ci_post_clone.sh
ci_post_xcodebuild.sh
ci_pre_xcodebuild.sh
在您的
ci_post_clone.sh
文件中添加以下内容:
#!/bin/zsh
# fail if any command fails
echo "🧩 Stage: Post-clone is activated .... "
set -e
# debug log
set -x
# Install dependencies using Homebrew. This is MUST! Do not delete.
brew install node yarn cocoapods fastlane
# Install yarn and pods dependencies.
# If you're using Flutter or Swift
# just install pods by "pod install" command
ls && cd .. && yarn && pod install
echo "🎯 Stage: Post-clone is done .... "
exit 0
在您的
ci_pre_xcodebuild.sh
文件中添加以下内容:
#!/bin/zsh
echo "🧩 Stage: PRE-Xcode Build is activated .... "
# You can add additional scripts here...
echo "🎯 Stage: PRE-Xcode Build is DONE .... "
exit 0
在您的
ci_post_xcodebuild.sh
文件中添加以下内容:
#!/bin/zsh
echo "🧩 Stage: POST-Xcode Build is activated .... "
# You can add additional scripts here...
echo "🎯 Stage: POST-Xcode Build is DONE .... "
exit 0
就我而言,我在 /ios 文件夹中运行
pod install
并工作
就我而言,问题与可可足类有关。我删除了旧版本,从地面安装并链接,问题解决了:)
brew uninstall --cask cocoapods
brew install cocoapods
brew link --overwrite cocoapods
我最近遇到了同样的问题,现在有一个 xcode cloud 的默认工作流程,可以执行 @BEK ROZ 提供的克隆后步骤
在使用 Ionic/Capacitor 构建 VueJS 应用程序时,我在本地也遇到了同样的问题
之前我对 iOS 构建的了解完全为零,所以请原谅我的天真,但我发现问题与 *xcconfig 文件有关。使用 npm 安装的每个电容器模块都会有自己的 xcconfig 文件用于调试和发布 - 存储在:
ios/App/Pods/Target Support Files/{{ Module Name }}/{{ Module Name }}.debug.xcconfig
ios/App/Pods/Target Support Files/{{ Module Name }}/{{ Module Name }}.release.xcconfig
我只安装了两个插件,所以我卸载了其中一个,即cordova-plugin-screen-orientation,同步然后存档(步骤如下),这次就通过了。
# Remove a capacitor module with npm e.g. cordova-plugin-screen-orientation
npm uninstall cordova-plugin-screen-orientation
# Sync the iOS plugins to remove the plugin from your Podfile (ios/App/Podfile)
npx cap sync ios
因此,我建议检查您安装的所有插件,看看其中是否有任何插件正在运行。然后返回 xcode,从菜单中运行“产品 -> 存档”以启动新构建或推送您的更改,让 xcode 云为您完成繁重的工作。
祝你好运
当您将 project.pbxproj 与不在您的分支中的更改合并时,可能会发生这种情况。解决办法是:
在某些情况下,您将需要更具体的操作,例如之前提到的@BEK ROZ。