Xcode Cloud:无法打开配置设置文件

问题描述 投票:0回答:5

我正在处理一个 React Native 项目,设置 Xcode Cloud 构建。

我不断收到此错误:

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

Xcode Cloud Screenshot

我的工作区中的文件如下所示:

|-- XXX
|-- Pods
|.  -- Podfile
|.  -- Targets Support Files
|.     -- Pods-XXX
|.        -- Pods-XXX.debug
xcode react-native xcode-cloud
5个回答
39
投票

你猜怎么着? XCode 是垃圾,但文档可以帮助我们。

这就是我用来顺利构建我的工作流程的方法。我将在这里分享确切的 bash 脚本。

为什么会失败?

  1. 首先在工作流程窗口侧栏上打开日志。

  2. 在运行存档过程之前检查是否安装了必要的依赖项。您使用的是虚拟机,因此默认情况下不会安装任何依赖项(例如 cocoapods 或 YARN)。

如果您还没有阅读并跳至解决方案:

步骤如下:

  1. 在根文件夹中创建

    ci_scripts
    文件夹enter image description here

  2. ci_scripts
    文件夹内创建3个文件:

    1. ci_post_clone.sh
    2. ci_post_xcodebuild.sh
    3. ci_pre_xcodebuild.sh
  3. 在您的

    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
    
  4. 在您的

    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
    
  5. 在您的

    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
    

21
投票

就我而言,我在 /ios 文件夹中运行

pod install
并工作


4
投票

就我而言,问题与可可足类有关。我删除了旧版本,从地面安装并链接,问题解决了:)

brew uninstall --cask cocoapods

brew install cocoapods

brew link --overwrite cocoapods

0
投票

我最近遇到了同样的问题,现在有一个 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 云为您完成繁重的工作。

祝你好运


-1
投票

当您将 project.pbxproj 与不在您的分支中的更改合并时,可能会发生这种情况。解决办法是:

  • 撤消合并提交。
  • 从提交中删除此文件。
  • 再次提交。

在某些情况下,您将需要更具体的操作,例如之前提到的@BEK ROZ。

© www.soinside.com 2019 - 2024. All rights reserved.