【问题标题】:Incorrect path for Pods.debug.xcconfig in Xcode?Xcode 中 Pods.debug.xcconfig 的路径不正确?
【发布时间】:2014-11-24 16:27:47
【问题描述】:

所以我在我的 Xcode 项目中使用了 Venmo/Synx 和 CocoaPods,结果完全搞砸了。

我能够修复 Manifest.lock 和 Podfile.lock 错误,但现在我收到此错误:

文件“Pods.debug.xcconfig”无法打开,因为没有这样的文件。 (/Users/user/GitHub/xxxxxx/Pods/Pods/Target 支持文件/Pods/Pods.debug.xcconfig)

如您所见,路径不正确,因为没有Pods/Pods 目录(多了一个pod)。

我该如何解决这个问题?我只将PODS_ROOT 添加到用户定义的变量中,因为它修复了我的 Podfile 和 Manifest.lock 文件。

任何帮助将不胜感激!


编辑:

添加PODS_ROOT后,我在运行pod install时得到这个。

[!] The `Project [Debug]` target overrides the `PODS_ROOT` build setting defined in `Pods/Target Support Files/Pods/Pods.debug.xcconfig'. This can lead to problems with the CocoaPods installation
    - Use the `$(inherited)` flag, or
    - Remove the build settings from the target.

【问题讨论】:

  • 再次运行pod install 可能会解决此问题。
  • @KeithSmiley 我已经尝试了很多次,包括删除所有 CocoaPods 的痕迹,然后重新添加。我也试过pod update,但无济于事。只是无法解决这个问题。
  • @KeithSmiley 是的,我也看到了,但是,我正在使用 SVProgressHUD,当我运行 synx 时,它会删除所有图像,所以我再次运行 pod install,这给了我所有错误。我通过添加 PODS_ROOT 来修复它以消除 Podfile.lock 和 Manifest.lock 错误。现在我收到此错误:/
  • 只是仔细检查...您是否正在打开工作区文件?或 .xcodeproj

标签: cocoapods xcode6.1 xcconfig


【解决方案1】:

我在 Xcode 6.1.1 中遇到了同样的问题。我做了以下解决它:

  1. 为 Pods 相关目标设置配置文件设置*“无”。
  2. 关闭 .xcworkspace。
  3. 再次运行 pod install
  4. 现在打开并构建您的 .xcworkspace

*通过选择项目(不是目标)然后选择信息选项卡来找到配置文件设置。

【讨论】:

  • 什么意思 1. 将Pods相关目标的项目设置设置为“None”。
  • 对于第 1 步,通过选择项目(不是目标)然后选择信息选项卡来找到此设置。
  • 不再工作,设置被 pod install 覆盖
  • 选择项目 -> 信息选项卡 -> 配置 -> 调试 -> 将文件设置更改为“无”
  • 我可以选择第二个配置文件,选择修复它
【解决方案2】:

如果您的 pod 路径错误,请尝试以下操作:

  • 使用pod deintegrate
  • 删除所有 pod 剩余文件 - Podfile.lockPods<Project>.xcworkspace
  • 打开<Project>.xcodeproj
  • 删除左侧的Pods项目
  • 试试pod install

【讨论】:

  • 在这样做之前更新 Cocoapods 对我有用。谢谢!在终端项目文件夹中 - sudo gem update cocoapods
  • 这对我有用,除非在执行所有这些步骤后我必须执行“清理构建文件夹”并删除“派生数据”。
【解决方案3】:

我在 Xcode 11 上遇到了同样的问题,但我刚刚更新了 CocoaPods 并且它起作用了。

  1. 使用sudo gem install cocoapods 将 CocoaPods 更新到最新版本
  2. 再次运行pod install

【讨论】:

  • 这是解决方案,如果您尝试将 pod 迁移到 Swift 5。
  • 当前在 2019 年。
  • 当我将它与其他解决方案混合使用时,该解决方案不起作用。但是,当再次将它作为一种全新且唯一的解决方案应用时,它就起作用了。
【解决方案4】:

我在第一次尝试构建我的项目时遇到了同样的错误。我就是这样解决的:

  • 吊舱解体
  • sudo gem install cocoapods-clean
  • 豆荚清洁

打开项目并删除应该是红色的“Pods”文件夹。

  • 吊舱设置
  • pod 安装

重新打开并构建项目,我觉得很好!

【讨论】:

    【解决方案5】:

    我在 1.6.x 和 1.5.x 之间升级/降级 cocoapods 时遇到了这个问题。 以下步骤修复了此错误

    1、进入项目信息标签

    2,就在部署目标下,有配置字段。更改您的配置。就我而言,有 2 个选项

    /Users/user/GitHub/xxxxxx/Pods/Pods/Target Support Files/Pods/Pods.debug.xcconfig
    
    /Users/user/GitHub/xxxxxx/Pods/Target Support Files/Pods/Pods.debug.xcconfig
    

    3,清理并重新构建。

    【讨论】:

      【解决方案6】:

      1- 删除项目中的 Pods 文件夹 Podfile.lockxcworkspace 文件根目录。

      2- 打开.xcodeproj

      3- 转到构建设置并在构建选项下搜索Always Embed Swift Standard Libraries

      4- 用$(inherited)更新它的值

      5- 关闭项目并再次pod install

      【讨论】:

        【解决方案7】:

        可可豆荚的更新导致了此问题。请参阅可可豆荚发行说明:

        更改 shell 脚本的相对路径以使用 ${PODS_ROOT} 而不是 ${SRCROOT}/Pods。 旋风#7878

        这是在版本 1.6.0.beta.1 (2018-08-16) 中完成的 发布说明在这里:cocoapods release notes

        【讨论】:

        • 构建服务器使用 1.5.3,开发机器使用 1.6.1
        【解决方案8】:

        我遇到了同样的错误,我按照以下方式修复了

        1 - 从左侧平移通过项目的蓝色图标转到您的投影设置 2 - 在项目下选择你的项目 3 - 选择信息窗口 4 - 检查 IOS 部署目标。此目标应与您在项目的常规设置中设置的相同(图 2)。

        【讨论】:

          【解决方案9】:

          我在Xcode 10.1 遇到了同样的情况。这对我有用。

          1. 打开<Project>.xcworkspace
          2. 进入<project_name>文件夹(默认为蓝色),删除Pods文件夹(默认为黄色)
          3. Terminal.app 中,再次运行pod install
          4. 然后我就可以CMD + R运行模拟器了

          【讨论】:

          • 感谢分享,魏。我的 Xcode 10.2.1 和 CP 版本 1.5.3。这发生在合并来自使用 CP 1.7 的队友的提交之后。
          • @Euridice01 在Terminal.app,在您的项目文件夹下
          【解决方案10】:

          一些值得尝试的事情:

          • 正如上面提到的 Keith,您肯定希望从 synx 中排除 Pods
          • 您几乎肯定不想覆盖PODS_ROOT 构建设置。
          • 我在一个具有多个目标的项目中看到了与您类似的错误。确保您的 Podfile 包含指定所有应用目标的 link_with 设置。
          • 如果您至少有一个测试目标,请考虑使用您的 Podfile 将您的所有应用程序 pod 显式导入您的应用程序和测试目标。
          • 我没有太多使用自定义 xcconfig 和 CocoaPods 的经验,但您可以先尝试删除 xcconfig 并允许 CocoaPods 先生成自己的。

          【讨论】:

          • 感谢乔纳森的回复。有几件事:我没有使用自定义的 xcconfig,只是尝试使用构建的。我只是覆盖了 PODS_ROOT 构建设置,因为它正在修复 Podfile.lock 和 Manifest.lock 缺失错误,该错误也在运行 synx 后启动。我只使用一个目标,并尝试了 link_with。
          • 好的,但我真的不认为这是这里的根本问题。如果您的自定义 PODS_ROOT 没有引起比它解决的问题更多的问题,我会感到惊讶。
          • 这是可能的,但我该怎么做呢?
          【解决方案11】:
          1. 关闭项目
          2. pod 解体
          3. 删除 - 项目目录中的 Podfile.lock、Pods、.xcworkspace
          4. sudo gem 安装 cocoapods
          5. pod 安装

          【讨论】:

            【解决方案12】:

            右击进入项目目录

            project.xcodeproj -> 显示包内容 -> 打开 project.pbxproj

            查找

            "Pods/目标支持文件/

            替换为

            "目标支持文件/

            这个解决方案不惜一切代价!

            【讨论】:

              【解决方案13】:

              尝试删除 debug.xcconfig 文件并再次运行 pod install。它解决了我的问题

              【讨论】:

              • 你在哪里找到那个文件?
              【解决方案14】:

              就我而言,我删除了我的 Podfile,Podfile.lock。 运行 pod init,然后将所有 pod 复制到新的 Podfile,然后再次运行 pod install,它就可以工作了。 我认为这是由于旧项目中文件夹路径的差异而发生的(对我来说,我从 Git repo 克隆了另一个项目)。

              【讨论】:

                【解决方案15】:

                对我来说,将File 中的Build system 更改为Legacy -> workspace settings 成功了

                【讨论】:

                  【解决方案16】:

                  对我来说,这是在我更新 cocoapods 后引起的。所以,我降级并且构建再次工作。

                  要降级,首先列出所有版本:

                  sudo gem list cocoapods
                  

                  然后指定你要删除的(对我来说是1.8.4):

                  sudo gem uninstall cocoapods -v 1.8.4
                  

                  然后,1.5.3 工作了!

                  【讨论】:

                    【解决方案17】:

                    这对我有用!

                    我总是使用 Bundler 来管理 ruby​​ 依赖项,然后在我所有的 iOS 项目中我都有看起来像这样的 Gemfile!

                    source "https://rubygems.org"
                    
                    gem "cocoapods"
                    gem "fastlane"
                    gem "jazzy"
                    
                    gem 'xcodeproj', :git => 'https://github.com/CocoaPods/Xcodeproj.git'
                    gem 'fastlane-plugin-teams', :git => "https://github.com/mbogh/fastlane-plugin-teams"
                    
                    plugins_path = File.join(File.dirname(__FILE__), 'fastlane', 'Pluginfile')
                    eval_gemfile(plugins_path) if File.exist?(plugins_path)
                    

                    我只是运行以下命令,我建议您为此使用别名:

                    ## Alias to add in zshrc or bashrc
                    
                    # bundle install
                    bdli() {
                      bundle install $@;
                    }
                    
                    piu() {
                      kill $(ps aux | grep 'Xcode' | awk '{print $2}');
                      pod deintegrate;
                      pod repo update;
                      pod install;
                      pod update;
                      open -a Xcode *.xcworkspace;
                    }
                    
                    

                    然后简单地运行:

                    bdli && piu
                    

                    它会为你做一切:)

                    PS : 安装 Bundler 到这里 -> Bundler

                    【讨论】:

                      【解决方案18】:
                      pod reintegrate 
                      pod install
                      

                      编辑 .xcodeproj/project.pbxproj 文件并将 PBXGroup "path = Pods" 更改为 "name = Pods"

                      【讨论】:

                        猜你喜欢
                        • 1970-01-01
                        • 2012-01-05
                        • 1970-01-01
                        • 1970-01-01
                        • 2015-10-23
                        • 1970-01-01
                        • 1970-01-01
                        • 1970-01-01
                        相关资源
                        最近更新 更多