错误:使用cocoapods安装RestKit后,“沙盒与Podfile.lock …不同步”

用cocopods安装RestKit后遇到一个奇怪的问题。 在用cocopods解决我项目的RestKit依赖项并试图构build它之后,我面对这个错误:

The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation. 

我search,但无法find任何明确的解决scheme。

这里有一些镜头: 在这里输入图像说明

在这里输入图像说明

  PODS: - AFNetworking (1.3.3) - RestKit (0.20.3): - RestKit/Core - RestKit/Core (0.20.3): - RestKit/CoreData - RestKit/Network - RestKit/ObjectMapping - RestKit/CoreData (0.20.3) - RestKit/Network (0.20.3): - AFNetworking (~> 1.3.0) - RestKit/ObjectMapping - RestKit/Support - SOCKit - RestKit/ObjectMapping (0.20.3) - RestKit/Search (0.20.3): - RestKit/CoreData - RestKit/Support (0.20.3): - TransitionKit (= 1.1.1) - RestKit/Testing (0.20.3) - SOCKit (1.1) - TransitionKit (1.1.1) DEPENDENCIES: - RestKit (~> 0.20.0) - RestKit/Search (~> 0.20.0) - RestKit/Testing (~> 0.20.0) SPEC CHECKSUMS: AFNetworking: 61fdd49e2ffe6380378df37b3b6e70630bb9dd66 RestKit: 1f181c180105a92f11ec4f6cd7de37625e516d83 SOCKit: 2f3bc4d07910de12dcc202815e07db68a3802581 TransitionKit: d0e3344aac92991395d4c2e72d9c5a8ceeb12910 COCOAPODS: 0.29.0 

我可以通过更新CocoaPods来解决这个问题。

一,项目清理

  1. 在项目导航器中,select您的项目
  2. select你的目标
  3. 在“ 构build阶段”>“链接二进制库”中删除所有libPods * .a

II。 更新CocoaPods

  1. 启动terminal并转到您的项目目录。
  2. 使用命令pod install来更新CocoaPods

许多尝试后,我设法解决这个问题。 variables$ {PODS_ROOT}没有设置,我做下面的技巧。 转到构build阶段 – >检查Pod Manifest.lock并更换

 diff "${PODS_ROOT}/../Podfile.lock" "${PODS_ROOT}/Manifest.lock" > /dev/null 

 diff "${SRCROOT}/Podfile.lock" "${SRCROOT}/Pods/Manifest.lock" > /dev/null 

它帮助到我。

如果您从Podfile中的目标中删除所有Pod,例如

 target 'myTarget' do pod 'great-stuff', '~> 4.0' // you deleted this last pod end 

您需要手动从Xcode目标中删除这些构build步骤构build阶段

  • 检查荚Manifest.lock
  • 复制Pod资源

Cocoapods(当前稳定版本0.37.2)在运行pod install时不执行此清理。

改变目标名称后

我的问题是与旧的目标名称的xcconfig。

  • 去投影文件 – >信息 – >configuration
  • 删除旧的xcconfig(debugging和发布)
  • 荚安装

它会更新到新的。

此外,如果你有遗漏的.h文件,这是原因(豆荚头searchpath是在这些xcconfig)

在我的情况下,集成WatchKit应用程序后,我得到同样的错误。 为了解决问题,我需要在Podfile中添加两个WatchKit的目标:

 target 'MyProject WatchKit App' do platform :watchos, '2.0' shared_pods end target 'MyProject WatchKit App Extension' do platform :watchos, '2.0' shared_pods end 

PS:也许这发生在我身上,因为我最初错误地为MyProject WatchKit App目标安装了豆荚。

从项目中删除吊舱,并重新安装为我工作。

有一个不错的GitHub仓库 ,可以完全从项目中删除豆荚。

只要保留你的PodFile的备份,并运行下面的命令。

  • gem安装cocoapods-deintegrate
  • gem安装cocoapods – 清洁
  • 转到项目目录并运行pod分解
  • 再次运行荚清理
  • 运行pod安装

清理并运行。

我遇到了一个configuration错误的xcconfig文件的问题。

在我使用的自定义xcconfig中,Pods生成的xcconfig未正确包含#include。 这导致$ PODS_ROOT不会被设置,导致diff "/../Podfile.lock" "/Manifest.lock"失败,原因很明显,哪个diff "/../Podfile.lock" "/Manifest.lock"误解为同步问题。

对我来说,问题是我通过复制现有的应用程序在应用程序中创build了一个新目标,但忘记将目标添加到Podfile 。 由于某种原因,克隆的目标在没有问题的情况下工作了几天,但过了一段时间,由于这个错误而无法build立。 我必须在Podfile中为克隆的项目目标创build一个新的目标条目,然后运行pod install

只要清理项目,并在Xcode中重新构build,它为我工作。 不需要再重新安装。

当你这样做

 pod install --verbose 

确保:

1-你在正确的目录中。 大多数时候,当一个github项目被下载时,将会有一个主文件夹。 您需要在terminal的实际项目名称文件夹(masterfolder / project文件夹)中,然后才能调用pod install –verbose

2-删除旧的podlocking文件夹,然后使用xcode clean&do pod install清理项目。

3-保持您的rvm更新。

我发现我的解决scheme:运行: pod update而不是pod install 。 错误已修复!

我的问题是cocoa豆荚版本,所以我安装了最新的: sudo gem install cocoapods --pre然后pod update

这对我有效

如果你的豆荚是空的

  1. 删除复制窗格资源并检查窗格清单。
  2. locking项目的构build阶段设置

我的问题是当我的开发伙伴在项目中添加一个窗格,然后我使用github来拉动项目,然后发生错误。 我运行了pod安装,并更新了由我的开发人员添加的新库的pod。 希望能帮助到你。

这件事情让我感到很快乐!

  1. 删除项目文件夹中的Podfile.lock文件
  2. 删除项目文件夹中的Pods文件夹
  3. 在您的项目文件夹中执行pod安装
  4. 在Xcode中做一个“干净的”
  5. 重build你的项目

我有最新的ComponentKit 0.14相同的问题。 原因是PODS_ROOT没有设置,我发现解决scheme是添加一行到ComponentKit.xcconfig:

 #include "../Pods/Target Support Files/Pods-ComponentKit/Pods-ComponentKit.debug.xcconfig" 

检查你的项目,豆荚可能没有推到Git。 所以很明显,编译将会中断,因为它找不到Pods目录

  diff "${PODS_ROOT}/../../Podfile.lock" "${PODS_ROOT}/Manifest.lock" > /dev/null 

我解决了这个问题,在导航到我的项目目录后,在terminal中发出pod install

事实上,我有一个错误cannot find pod command ,这意味着没有安装cocoapods 。 这是通过gem install cocoapods修复的。 如果您得到任何依赖性错误,只需安装报告丢失的每个命令。 在我的情况下,我不得不更新Ruby,之后, cocoapods安装正确,我可以使用命令pod install

PS。 如果您有Pods目录,请尝试pod update 。 也许你的图书馆需要更新。

我有这个问题,当我试图删除以前安装的库

@米查尔的回答帮助了我

删除或卸载以前添加的库:cocoapods

我不小心删除了,然后从我试图安装荚的地方解压缩回文件夹。
它是这样的:1)cd在你的项目文件夹2)压缩你的项目3)删除项目文件夹4)解压缩文件夹返回5)从现在即使你有这个文件夹,你应该再次从terminal

对我而言( XCode 8.3.3/XCode 9 beta with a Swift 3.1 project )的步骤

  - Navigate to your project directory - pod install //which then asks you to do the next step - pod repo update //takes a while to update the repo - pod update - pod install - Close Xcode session - Open and Clean the project - Build/Run 

另外请make sure you open the .xcworkspace file rather than the project file (.xcodeproj) when working with pods 。 这应该解决任何错误与链接,如“苹果Mach -O连接器命令失败”