错误:在安装带有cocoapods的RestKit之后,“沙箱与Podfile.lock不同步...”


232

在安装带有Cocoapods的RestKit之后,我遇到了一个奇怪的问题。在用cocoapods解决了我项目的RestKit依赖关系并尝试构建它之后,我遇到了这个错误:

沙箱与Podfile.lock不同步。运行“ pod install”或更新您的CocoaPods安装。

我尝试跑步pod install,但没有任何变化。

以下是一些镜头: 在此处输入图片说明

在此处输入图片说明

  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

2
您是否Run 'pod install' or update your CocoaPods installation.按照错误提示尝试了?
Wain 2014年

3
绝对,我做到了,但没有成功
Hashem Aboonajmi 2014年

1
您可以在Podfile.lock和中发布Restkit的版本Pods/Manifest.lock吗?当这些不相同时,将发生该错误。
MishieMoo 2014年

是的,我比较了它们,它们是完全相同的。
Hashem Aboonajmi 2014年

“沙箱”错误上方的错误是“差异:未找到命令”我不知道重新安装差异是否可以解决问题,但这可能是正在发生的情况的提示。
雷兔2014年

Answers:


318

我能够通过更新CocoaPods来解决此问题。

一,项目清理

  1. 在项目导航器中,选择您的项目
  2. 选择你的目标
  3. 构建阶段>使用库链接二进制文件中删除所有libPods * .a

二。更新CocoaPods

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

3
像魅力一样工作,您可能想要更新答案,例如说运行命令吊舱安装
ManicMonkOnMac

18
关于I.3-您的意思是“构建阶段>使用库链接二进制文件”部分吗?
kraftydevil

1
在项目目录中运行pod install命令时,收到以下警告:不建议使用隐式源。要继续使用计算机上当前的所有源,请将以下内容添加到Podfile的顶部:source'github.com/CocoaPods/Specs.git '我也将此链接添加到了pod文件中,但是发生了同样的事情。请提出建议。
米特什·哈特里

除此之外,我还必须删除所有与CocoaPod相关的构建阶段,例如“ Check Pods Manifest.lock”和“ Copy Pods Resources”。
JVillella 2014年

17
@ Valery Pavlov这些步骤有效,但是在成功清除项目后,构建会立即失败,并出现以下3个我无法摆脱的错误。我尝试完全删除所有cocoapods,重新安装,更新,使用xcode重新启动等完成所有这些操作。在终端中的所有这些都可以成功执行,但是构建仍将失败。还有其他想法吗?错误:diff:/../Podfile.lock:没有这样的文件或目录diff:/Manifest.lock:没有这样的文件或目录错误:沙箱与Podfile.lock不同步。运行“ pod install”或更新您的CocoaPods安装。
natur3

111

经过多次尝试,我设法解决了这个问题。变量$ {PODS_ROOT}未设置,我做下面的技巧。转到构建阶段->检查Pod Manifest.lock并替换

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

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

它帮助到我。


为什么未设置$ PODS_ROOT?我需要为我的项目重新安装Pod吗?
Petr Syrov

2
未设置$ PODS_ROOT的原因主要是因为cocoapods生成的.xcconfig文件未应用于构建目标。
藤佳

@Fujia如何应用.xcconfig文件?
Darko Romanov

就我而言,我PODS_ROOT = ${SRC_ROOT}/Pods在xcconfig中设置了相同的效果。
grego

44

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

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

您需要从Xcode目标构建阶段中手动删除以下构建步骤:

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

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


这对我有用。我一直在迁移到Swift 2,并注释掉了所有Pod-我只是打开其中一个Pod,而不是搞砸删除构建阶段。
brian.clear

答对了!我花了几个小时删除我的工作区,重新安装吊舱等,但没有其他工作。
奥伦2015年

35

我一直在搜索几个小时,发现以下解决方案:

就我而言,方法1可行。

方法1:

  1. 选择目标>转到构建短语 >单击使用库链接二进制文件>删除所有libPods.a文件
  2. 打开终端>直接到您的项目>运行:

     pod install
    
  3. 清理并建设项目

参考1

方法2:

  1. 打开终端>直接到您的项目>运行:

    pod deintegrate --verbose    
    pod install --verbose
    

参考2

方法3:

  1. 选择目标>转到“ 构建设置” >单击“ +”号
  2. 添加2个用户定义的设置:[左侧=右侧]

    PODS_ROOT = ${SRCROOT}/Pods
    

    PODS_PODFILE_DIR_PATH = ${SRCROOT}/
    

参考3


我尝试了所有其他解决方案,但没有任何效果。方法3对我有用。
Vinner

25

从项目中删除吊舱并重新安装对我来说很有用。

有一个很好的GitHub存储库,可以从项目中完全删除Pod。

只需保留PodFile的备份并在以下命令下运行即可。

  • gem install cocoapods-deintegrate
  • 宝石安装cocoapods-清洁
  • 转到项目目录并运行pod deintegrate
  • 再次运行 荚清洁
  • 运行Pod安装

清洁并运行。


1
您太棒了,只有您的员工为我工作,非常感谢
albert sh

运行这些命令后,我得到一条成功的构建消息,但是现在,在模拟器或控制台上都没有运行任何东西。你知道为什么会这样吗?
豪尔赫·巴里奥斯

警惕:构建工作正常,但吊舱清洁使项目目标消失了。没有生成档案,也没有构建应用。
鲁本

@Ruben消失的内容将再次在“ pod安装”中重新生成
Teena nath Paul

尽管如此,执行完您提到的步骤后,我的应用程序图标不再作为主项目出现...仅显示cordova徽标,并且未生成任何构建或存档。
鲁宾

12

更改目标名称后

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

  • 去项目文件->信息->配置
  • 删除了旧的xcconfig(包括调试和发行版)
  • 吊舱安装

它将更新为新的。

另外,如果您缺少.h文件,这就是原因(pod标头搜索路径在这些xcconfig中)


选择None也为我工作。整整一天我都在努力,试图将Gimbal2 SDK集成到Ionic4项目中。
罗斯,

9

如果您看到类似以下的错误:

差异:/../Podfile.lock:没有这样的文件或目录差异:/Manifest.lock:没有这样的文件或目录错误:沙箱与Podfile.lock不同步。运行“ pod install”或更新您的CocoaPods安装。

然后您的项目中的Cocoapods存在问题。有时,cocoapods可能不同步,因此您需要重新启动cocoapods。您应该能够通过以下方法解决此错误:

  1. 删除项目文件夹中的Podfile.lock文件
  2. 删除项目文件夹中的Pods文件夹
  3. 在项目文件夹中执行“ pod安装”
  4. 在Xcode中执行“清理”
  5. 重建项目

2
非常感谢。你让我今天一整天都感觉很好。在Flutter项目中没有其他工作。
nbloqs 19/09/25

这也是唯一对我有用的解决方案。删除Podfile.lock。请注意,这样做可能会导致意外的版本升级。
Santamanno

颤动:pod install在flutter_project / ios中运行
Kirill Karmazin

5

就我而言,集成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最初错误地为目标安装了吊舱。


我认为您的
想法真不错

4

我找到了解决方案:运行:pod update而不是pod install。错误已修复!


好。这将更新过时的Pod,因此请确保这就是您想要的。
ff10

4
  • 转到构建阶段->检查Pod Manifest.lock
  • 更换
${PODS_ROOT}/Manifest.lock

与:

${SRCROOT}/Podfile.lock" "${SRCROOT}/Pods/Manifest.lock

签入图片:

在此处输入图片说明


这在Cordova iOS版本中对我有用,而无法接受的答案不起作用。
巴斯蒂安·布朗肯堡

3

我遇到了xcconfig文件配置错误的问题。

Pods生成的xcconfig未正确包含在我使用的自定义xcconfig中。由于diff "/../Podfile.lock" "/Manifest.lock"明显的原因,这导致未设置$ PODS_ROOT导致失败,Pods误认为这是同步问题。


3

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


2

如果从github下载项目或从其他地方复制项目,则依赖项库不存在,就会出现此问题。

你只需要cdproject/project_name directory在终端,使用ls,检查是否有Podfile文件。

如果存在Podfile,则只需安装依赖项:

pod install

谢谢-当我运行从github网站下载的flutter示例时,这确实对我有很大帮助,并且我收到了相同的错误。我导航到每个flutter示例文件夹的ios文件夹,并安装了pod,然后flutter应用程序工作了。
西蒙

很高兴为您提供帮助。
飞机

2

我尝试了一切,但问题仍然存在。之后,我执行了此操作,并尽快运行(尽可能平滑)。

  1. 打开.xcworkspace文件。
  2. 如果在Xcode 10上使用Cordova,请更改为旧版构建系统。
  3. 转到Podfile的目标/项目。选择Deployment traget作为11+
  4. 然后将调试和发行版更改为Pods-.build/release。在我的案例中是App.debug / release.Pic。希望能帮助到你。 更改Pod中的调试版本

2

我的工作答案是:

  1. 安装通过以下命令更新您的可可足类:pod update
  2. 通过此命令安装新的Pod。吊舱安装
  3. 最后一个命令:sudo gem install cocoapods。

2

这些答案对我完全没有任何帮助。必须通过运行再次创建项目cordova platform add ios。我注意到的是,即使是重新生成的(带有我的情况)Firebase Pod的项目也一遍又一遍地导致错误消息。在我看来好像是为一些(火力地堡,RestKit)豆荚中的错误XcodeCocoaPods。要包含Pod,我可以简单地编辑config.xml并运行cordova platform add iOS,它会自动为我完成所有操作。虽然不确定它是否在所有情况下都能正常工作。

编辑:我有一个Podfile来自以前的iOS/ Xcode,但是至今为止是最新# DO NOT MODIFY -- auto-generated by Apache CordovaPodfile。这打开了我的脑海,尝试了这种方法。看起来有点琐碎,但可以正常工作,并且可以解决我的Firebase功能。


1
这是唯一对我有用的方法。尝试了所有其他。我删除了平台,并重新安装了“ cordova platform add ios”。我也认为我有以前的平台/ ios,我在以前的xcode版本中使用过。
希思

1

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

  1. 删除项目文件夹中的Podfile.lock文件
  2. 删除项目文件夹中的Pods文件夹
  3. 在项目文件夹中执行Pod安装
  4. 在Xcode中执行“清理”
  5. 重建项目

我批准此消息!另外,如果您在Flutter上,别忘了flutter pub get
Kirill Karmazin

1

当你做

pod install --verbose

确保:

1-您在正确的目录中。大多数情况下,下载github项目时,会有一个主文件夹。在调用pod install --verbose之前,您需要位于终端的实际项目名称文件夹(masterfolder / project文件夹)内

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

3-保持您的rvm更新。


1

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

那对我有用


1

对我有用的步骤(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。这样可以解决任何链接错误,例如“ Apple Mach -O Linker命令失败”


1

如果您正在申请项目清理方式而您的项目仍然出错。

您可以转到“ 构建阶段”选项卡,然后找到Check Pods Manifest.lock并删除脚本。

然后输入命令删除文件夹 Pods那样的rm -rf Pods

然后您需要通过命令删除Podfile.lock rm Podfile.lock

可能是基于您可以删除文件的情况 your_project_name.xcworkspace

最后,您需要命令来安装Pod pod install --repo-update

希望此解决方案随您提供。快乐编码:)


1

我有同样的错误。首先,我使用更新cocoapods

sudo gem install cocoapods

然后使用Pod install命令安装pod对我有用。


1

请执行以下步骤:

1:删除项目文件夹中的Podfile.lock文件

2:删除项目文件夹中的Pods文件夹

3:在项目文件夹中执行“ pod安装”

4:在Xcode中执行“清理”

5:重建项目


1

对我而言,工作混乱,由于现有配置,配置没有自动添加。

添加#include "Pods/Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"Flutter/Release.xcconfigFlutter/Debug.xcconfig

解决了这个问题。



1

我在Flutter项目中遇到了这个问题。我刚刚在xCode中打开了iOS模块,并且Build Clean Folder对我有用。


1

尝试在其中设置正确的目标Podfile,然后运行pod updatepod install

ios平台目标


1

我在Ionic-3上遇到了同样的问题,我做了一些上述步骤,但是没有一个对我有用。

对于Ionic删除ios平台

$ ionic cordova platform remove ios
$ ionic cordova platform add ios

打开xcode,然后尝试构建。这对我有用:-)


1

通过安装Cordova版本9修复了我的离子应用程序问题,尝试了以上所有与xcode链接的解决方案,但均不适用于我的离子应用程序

如果有人在他们的cordova应用程序中遇到相同的问题,请更新至cordova 9来解决此问题


0

如果您的豆荚是空的

  1. 删除复制容器资源并检查容器清单。
  2. 锁定项目的构建阶段设置
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.