错误:使用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来解决这个问题。
一,项目清理
- 在项目导航器中,select您的项目
- select你的目标
- 在“ 构build阶段”>“链接二进制库”中删除所有libPods * .a
II。 更新CocoaPods
- 启动terminal并转到您的项目目录。
- 使用命令
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
这对我有效
如果你的豆荚是空的
- 删除复制窗格资源并检查窗格清单。
- locking项目的构build阶段设置
我的问题是当我的开发伙伴在项目中添加一个窗格,然后我使用github来拉动项目,然后发生错误。 我运行了pod安装,并更新了由我的开发人员添加的新库的pod。 希望能帮助到你。
这件事情让我感到很快乐!
- 删除项目文件夹中的Podfile.lock文件
- 删除项目文件夹中的Pods文件夹
- 在您的项目文件夹中执行pod安装
- 在Xcode中做一个“干净的”
- 重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连接器命令失败”