项目构建中的CocoaPods错误

Und*_*ion 178 cocoa-touch objective-c build-error cocoapods

我无法构建使用CocoaPods的项目.我收到以下错误:

diff: /../Podfile.lock: No such file or directory
diff: Manifest.lock: No such file or directory error: 
The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.`
Run Code Online (Sandbox Code Playgroud)

$ pod install似乎工作正常,并将一个Pods项目添加到我的工作区.我试过$ pod update但这没有用.

似乎PODS_ROOT没有设定.

Podfile:

platform :ios, '6.0'

workspace 'Example.xcworkspace'
xcodeproj 'example/Example.xcodeproj' 

pod 'TestFlightSDK', '~> 1.3.0-beta.5'
pod 'TestFlightLogger', '~> 0.0.2'
pod 'CocoaLumberjack', '~> 1.6.2'
pod 'Reachability', '~> 3.1.0'
pod 'SBJson', '~> 3.2'
pod 'MKMapViewZoom', '~> 1.0.0'
Run Code Online (Sandbox Code Playgroud)

asg*_*oth 170

当我对Podfile进行重大更改时,我遇到了类似的问题.我的解决方案是删除工作区文件并pod install再次运行:

rm -rf MyProject.xcworkspace
pod install
Run Code Online (Sandbox Code Playgroud)

  • 意味着cocoapods安装不正确.运行`sudo gem install cocoapods` (17认同)
  • 你的回答是我的一天.我被困在里面几个小时.帽子 (5认同)
  • `gem install cocoapods`甚至更好.大多数时候`sudo`对于宝石来说不是必需的. (4认同)

Sen*_*ful 68

TLDR:这很可能是Xcode的一个错误,关闭和重新打开项目通常是最简单的修复.假设其他一切都配置正确.


我偶尔会在删除Pods目录然后运行时遇到同样的错误pod install.

项目信息中的所有内容都显示正确:

在此输入图像描述

但是,当我转到目标的用户定义的构建设置时,PODS_ROOT条目要么完全丢失,要么对于一个或多个配置为空.这导致构建时出现以下错误:

在此输入图像描述

最简单的解决方法是在Xcode中关闭项目并重新打开它.

如果您转到目标的构建设置并过滤全部,您现在将看到PODS_ROOT没有错误的条目:

在此输入图像描述

它现在应该构建没有错误.


注意:即使Cocoa Pods的官方AFNetworking iOS示例也有这个问题,这让我相信这是Xcode的一个错误.

另一种解决方法是手动将配置更改为None,然后返回其原始值:

在此输入图像描述


Jag*_*gie 32

转到目标,Build Settings并在"用户定义"部分确保PODS_ROOT等于的值${SRCROOT}/Pods.

在此输入图像描述


abb*_*ood 30

更新: a podfile.lock是必需的,应该被版本控制忽略,它会跟踪在某个pod安装时安装的库的版本.(它分别类似于gemfile.lockcomposer.lock用于rails和php依赖管理).要了解更多信息,请阅读文档.幸得cbowns.


在我的情况下,我做的是我正在为我的项目做一些房屋清理(即将集成测试作为git子模块进行分支......删除重复文件等)..并将最终结果推送到git远程仓库.所有克隆我的回购的客户都遭受了上述错误.受Hlung上述评论的启发,我意识到有一些悬空的pod脚本试图对一些不存在的文件运行.所以我进入了我的目标构建阶段,并删除了与可可豆荚有关的所有剩余阶段(和Hlung的评论他建议删除Copy Pods Manifest.lockcopy pod resources..我的名字不同也许b/c我正在使用Xcode 5 ..点是删除那些悬空构建阶段)..

  • 我删除了我的xcworkspace文件并进行了pod安装,但我仍然收到相同的错误消息. (12认同)

Und*_*ion 28

所以似乎CocoaPods没有为我的项目设置配置.他们需要基础上,Pods.xcconfig这在被发现Pods/Target Support Files/Pods.要实现这一点,我必须执行以下操作:

  1. 将此文件拖到Xcode中的Xcode项目中,选择不复制.
  2. 现在我们的项目中有一个参考,我们可以设置配置: 在此输入图像描述

然后我有另一个构建错误,可能有也可能没有关联.在该Copy Pods Resources中定义的shell脚本的路径不正确.

"${SRCROOT}/Pods/Pods-resources.sh"
Run Code Online (Sandbox Code Playgroud)

解决不正确.似乎SRCROOT正在添加一条不存在于路径中的额外目录.所以我硬编码了Project文件夹的路径.

这让我可以建立.

为什么这么多可以节省你时间的东西最终会吃掉它?

注意:请参阅@ abood的答案进行解释.

  • 如果您因为**从目标中删除了所有pod**而看到此错误,则您将不再拥有任何pod脚本,但仍会尝试运行它.您必须转到目标构建阶段,并删除`Copy Pods Manifest.lock`和`Copy Pods Resources`阶段.并且还使用Libraries删除Link Binary中的`libPods.a`. (27认同)

Tib*_*abo 21

我有一个类似的问题,这是有效的:

  1. 在Xcode中:
    • 清洁
    • 在Xcode/Window/Organizer/Project/Your Project中删除派生数据
    • Pod目录(它包含配置文件,删除文件不仅仅是引用!)
    • 删除了Project/Configurations中每个目标的pod配置文件的所有引用(调试/发布)
    • 从所有目标中删除了"目标/构建阶段/复制窗口资源"
    • 从所有目标中删除了"目标/构建设置/用户定义/ PODS_ROOT"
  2. 退出Xcode
  3. 在您的项目目录中:
    • rm -rf Pods
    • (可选)rm -rf YourProject.xcworkspace
    • rm -rf Podfile.lock
  4. pod安装
  5. 在Xcode中打开YourProject.xcworkspace

  • 不要随意删除您的工作区 - 即使您的工作区是由Cocoapods创建的,它也是由您维护的. (4认同)

Tim*_*çin 15

我通过以下步骤摆脱了同样的问题:

  • Xcode->Product->Clean Build Folder(在产品上按住alt键查看)
  • 打开Xcode->Window->Organizer并选择Projects选项卡.然后找到您的项目并删除 derived data项目.

  • 不适合我.我放弃了豆荚. (9认同)

Die*_*ego 10

通过执行以下操作简单地解决:

  • (sudo)gem install cocoapods

  • pod安装

  • 清洁和建设

似乎问题是由我们的一个团队成员有一个更近期的cocoapods宝石安装引起的.


Iva*_*ang 9

  1. 在sublime文本中打开.xcodeproj文件
  2. 删除这两行,如果你有干净的pods文件夹,我的意思是如果你删除pods文件夹后得到上述错误


小智 6

有同样的问题说/Pods/Pods-resources.sh:即使在删除了与pod相关的文件等之后,也没有这样的文件或目录.

通过转到target-> Build阶段然后删除构建阶段"Copy Pod Resources"来摆脱它.


Chi*_*ara 5

我最近也遇到了同样的问题。我已经尝试了所有可能的建议,除了这个插件对我来说没有任何作用:

https://github.com/kylef/cocoapods-deintegrate

清理当前的 cocoapods 集成后,剩下要删除的是 Podfile、Podfile.lock 和 .xcworkspace。然后重新安装即可。

我希望我能在这方面帮助别人。