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

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

我试着运行pod安装,但没有变化。

以下是一些照片:

  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来解决这个问题。

一、项目清理

在项目导航器中,选择您的项目 选择目标 删除所有libpod *。a在构建阶段>链接二进制与库

2更新CocoaPods

启动终端并转到项目目录。 使用命令荚install更新CocoaPods


经过多次尝试,我终于解决了这个问题。变量${PODS_ROOT}没有设置,我做下面的技巧。 去构建阶段->检查Pods清单。锁定和替换

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

to

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目标构建阶段手动删除这些构建步骤:

检查pod Manifest.lock 复制Pod资源

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


如果你的舱是空的

删除复制豆荚资源和检查豆荚清单。 从构建阶段锁定项目的设置


我在配置错误的xcconfig文件时遇到了这个问题。

pods生成的xcconfig没有正确地包含在我正在使用的定制xcconfig中。这导致$PODS_ROOT未被设置,导致diff“/../Podfile”失败。锁”“/清单。出于显而易见的原因,Pods将其误解为同步问题。


更改目标名称后

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

进入项目文件->信息->配置 删除旧的xcconfig(包括调试和发布) 圆荚体安装

它会更新到新的。

如果你丢失了。h文件,这也是原因(pods头搜索路径在这些xcconfig中)


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


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

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

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

Gem安装cocoapods-deintegrate 宝石安装椰荚干净 进入项目目录并运行pod deintegrate 再次运行pod clean 运行pod安装

清理干净,然后跑。


这让我很开心!

删除Podfile。锁定文件在您的项目文件夹 删除项目文件夹中的Pods文件夹 在项目文件夹中执行pod install 在Xcode中进行“清洁” 重新构建项目


我在最新的ComponentKit 0.14上也有同样的问题。 原因是PODS_ROOT没有设置,我发现解决方案是添加一行到ComponentKit。xcconfig:

#include "../Pods/Target Support Files/Pods-ComponentKit/Pods-ComponentKit.debug.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应用程序目标最初安装了pods。


当你这样做时

pod install --verbose

确保:

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

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

3-保持rvm更新。


在项目中检查pod可能没有被推送到Git。所以很明显compile将会崩溃,因为它无法找到Pods目录

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

我通过在终端中导航到我的项目目录后发出pod install来解决这个问题。

事实上,我有一个错误无法找到pod命令,这意味着cocoapods没有安装。这是通过gem install cocoapods来修复的。如果遇到依赖项错误,只需安装报告丢失的每个命令。在我的情况下,我必须更新Ruby,在cocoapods正确安装后,我可以使用命令舱安装。

PS.如果你有pod目录,尝试pod更新。也许你的库需要更新。


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


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

@Michal的回答帮助了我

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


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


我不小心删除,然后解包回文件夹从我试图安装豆荚。 是这样的: 1) CD在你的项目文件夹 2)压缩你的项目 3)删除项目文件夹 4)解压文件夹回来 5)从现在开始,即使你有这个文件夹,你也应该从终端再次进入这个文件夹


我的问题是可可豆荚版本,所以我安装了最新的: Sudo gem安装cocoapods—pre 然后pod更新

这对我很有用


对我有效的步骤(XCode 8.3.3/XCode 9 beta与Swift 3.1项目)

 - 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

另外,在使用pods时,请确保打开的是.xcworkspace文件而不是项目文件(.xcodeproj)。这应该解决任何错误的链接,如“苹果Mach -O链接器命令失败”


如果您正在应用项目清理的方式,而您的项目仍然出错。

你可以去标签构建阶段,然后找到检查Pods清单。锁定并删除脚本。

然后输入命令删除文件夹Pods,如rm -rf Pods

然后你需要删除Podfile。通过命令rm Podfile.lock锁定

可能,基于某种情况,您可以删除文件your_project_name.xcworkspace

最后,你需要命令来安装Pod Pod install——repo-update。

希望你能想到这个解决方案。快乐编码:)


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

你只需要cd到终端的project/project_name目录,使用ls检查是否有Podfile文件。

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

pod install

如果你看到如下错误:

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

那么在你的项目中Cocoapods有一个问题。有时茧足类动物会不同步,你需要重新启动茧足类动物。您应该能够通过以下方法解决此错误:

删除Podfile。锁定文件在您的项目文件夹 删除项目文件夹中的Pods文件夹 在项目文件夹中执行“pod install” 在Xcode中进行“清洁” 重新构建项目


我错了:

diff: / . . / Podfile。diff: /Manifest. lock:没有这样的文件或目录。lock:没有这样的文件或目录错误:沙箱没有与Podfile.lock同步。

我第一次从bitbucket中提取请求。我清理了我的项目,尝试了所有的方法(pod安装,pod更新等),但上面的答案都不适合我。然后我只是检查我安装吊舱的路径,并纠正它,重新安装,它只是工作。确保在.xcodeproj或.xcworkspace(如果已经存在的话)存在的位置前面给出路径。也许有人会从中受益。


我也犯了同样的错误。首先我更新cocoapods使用

sudo gem install cocoapods

然后安装Pod使用Pod安装命令为我工作。


您需要在定制的xcconfig中包含pods生成的xcconfig路径。对我来说,这是因为配置错误的xcconfig文件。


请执行以下步骤:

1:删除Podfile。锁定文件在您的项目文件夹

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

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

4:在Xcode中进行“Clean”

5:重建你的项目


我使用包中的可可荚安装。

安装打包机 在项目根目录中添加Gemfile 在Gemfile中添加所需的宝石 包安装 然后总是使用bundle exec pod install

如果你不知道如何操作这些步骤之一,在谷歌上搜索会有帮助:)


pod deintegrate <PROJECT>.XCODEPROJ // will deintegrate cocoapods
pod install // installs the pods

我找了几个小时,找到了如下的解决方案:

在我的例子中,方法1是有效的。

方法1:

选择目标>,进入Build Phases >,单击Link Binary With Libraries >,删除所有libPods。一个文件 打开终端>直接到你的项目>运行: 圆荚体安装 清洁和建造项目

ref . 1

方法2:

打开终端>直接到你的项目>运行: Pod分解——冗长 Pod安装—详细

ref . 2

方法3:

选择目标>进入构建设置>点击“+”符号 add 2用户自定义设置:[to the left = to right] PODS_ROOT = ${SRCROOT}/Pods

and

    PODS_PODFILE_DIR_PATH = ${SRCROOT}/

ref.3


我试了一切办法,但问题还是没有解决。 在那之后,我这样做了,它工作尽快(尽可能顺利)。

打开.xcworkspace文件。 如果在Xcode 10上使用Cordova,则更改为遗留构建系统。 转到Podfile的目标/项目。选择“部署traget”为11+ 然后将调试和发布更改为Pods-.build/release。在我的例子中是App.debug/release。图片附呈。希望能有所帮助。


对于在flutter中工作的我来说,由于现有的配置,配置没有自动添加。

添加“Pods/Target Support Files/Pods- runner /Pods- runner .profile”。xcconfig"到颤振/释放。Flutter/Debug.xcconfig和Flutter/Debug.xcconfig

解决了这个问题。


我也有同样的问题 我将所有内容更新到最新 来自: NPM -v 6.4.1 节点-v v10.2.1 Pod——1.5.3版

: NPM -v 6.5.0 Node -v v11.8.0 Pod——1.6.0版本

然后修复它


我的回答是:

通过以下命令安装更新cocoapods: 豆荚更新 通过这个命令安装新的pod。 圆荚体安装 最后一个命令: Sudo gem安装cocoapods。


运行这个程序,错误就会消失

cocoapods && pod安装


转到Build Phases -> Check Pods Manifest.lock 取代

${PODS_ROOT}/Manifest.lock

:

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

签到图片:


我在Flutter项目中遇到了这个问题。我刚刚在xCode中打开了iOS模块,Build Clean Folder对我来说很有效。


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


我有同样的问题与Ionic-3,我做了一些上面提到的步骤,但没有一个对我有效。

为离子 移除ios平台

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

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


Completely nothing worked out for me from these answers. Had to create the project again by running cordova platform add ios. What I've noticed, even freshly generated project with (in my case) Firebase pods caused the error message over and over again. In my opinion looks like a bug for some (Firebase, RestKit) pods in Xcode or CocoaPods. To have the pods included I could simply edit my config.xml and run cordova platform add iOS, which did everything for me automatically. Not sure if it will work in all scenarios though.

编辑:我有一个Podfile从以前的iOS/Xcode,但最新的今天有# DO NOT MODIFY -自动生成的Apache Cordova在Podfile。这让我的脑海中亮起了一盏灯,开始尝试这种方法。看起来有点琐碎,但很管用,我的Firebase功能也很管用。


通过安装cordova版本9,修复了ionic应用程序的问题,尝试了以上所有解决方案,大部分与xcode链接,都不适合我的ionic应用程序

如果任何人在他们的cordova应用程序中遇到同样的问题,请更新到cordova 9来解决这个问题


当我添加一个新的开发人员帐户时,我得到了这个错误。我更改了项目名称下的团队,但我错过了在Pods文件夹下更新它。

我在Pods-> Signing -> Team下的Teams选项下更新了新的开发人员ID后解决了这个问题,错误消失了,构建成功。


我混淆了上面的一些评论,这解决了我的问题

一、项目清理

在项目导航器中,选择您的项目 选择目标 删除所有libpod *。a在构建阶段>链接二进制与库

2清洁构建文件夹

在XCode中:菜单栏→产品→产品->清洁构建文件夹

3更新cocapods

运行pod更新


首先,您必须了解Podfile。锁就是然后明白什么是Manifest。锁是什么,用在什么地方。

Podfile包含您拥有的每个依赖项的(乐观或精确)版本。锁文件只保存精确的版本。

一旦你安装了pod,所有的pod都会被下载/安装到/pods目录中。你可能想承认,也可能不想。这取决于你的团队。你的团队不能决定他们是否应该提交Podfile。锁不锁。这样团队中的每个开发人员都可以确保他们得到完全相同的版本。

假设您下载了团队的代码。在项目的根目录中,只有Podfile和Podfile。锁,Pods目录没有被提交。 然后执行pod install来创建Pods目录。每个pod的版本快照应该与Podfile.lock中所有pod的版本相匹配。 CocoaPods有一个安全检查,以确保匹配的版本

这就是舱单。锁开始发挥作用。清单。Lock是本地机器创建的锁。它必须与Podfile匹配。在你的repo中,由最后一次提交(导致你的pods的变化)生成的锁。如果不匹配,那就有问题了。

关于清单的文件。锁文件为:

  #     Manifest.lock: A file contained in the Pods folder that keeps track of
  #     the pods installed in the local machine. This files is used once the
  #     exact versions of the Pods has been computed to detect if that version
  #     is already installed. This file is not intended to be kept under source
  #     control and is a copy of the Podfile.lock.

老实说,我只能想到一种情况Manifest。锁和Podfile。锁将不同步:

我的意思是如果你从main分支中拉,你会得到main的Podfile和lock file。如果你对Podfile进行了更改,然后运行pod install,那么你将更新Podfile。锁定和清单。锁定并保持它们同步。没有问题

这样是否可以:

您和您的团队不提交/Pods目录 您的Podfile或Podfile中存在合并冲突。锁上,但没有意识到。或者你没有同时提交Podfile和Podfile.lock 假设Xcode不处理Podfile和Podfile。锁定后,您的项目自然可以成功构建。 然而,如果你去检查你的目标的构建阶段,你会看到以下内容

这里记录了该脚本

#     Adds a shell script build phase responsible for checking if the Pods
#     locked in the Pods/Manifest.lock file are in sync with the Pods defined
#     in the Podfile.lock.
#     
#     @note   The build phase is appended to the front because to fail fast.
#     
#     @return [void]

这些行所做的是:执行一个diff并确保您的Manifest。例如,所有已安装pod版本的本地快照都等于Podfile。锁定,即您的回购当前所有已安装pod版本的快照。

修复可能超级简单,只要确保你的Podfile是你想要的。然后运行pod install。你也不小心改变了你的清单。锁在你的/Pods目录中(或者如前所述,可能只提交锁文件而不提交Podfile,反之亦然)。删除/Pods目录不会造成伤害。然后再做一个吊舱安装。不要更新吊舱,除非你想这么做。

只要确保你没有删除Podfile。锁定,否则如果你做pod安装,那么它将更新所有依赖到最新版本。


这段关于锁文件的视频也很有帮助,CocoaPods文档介绍了锁文件在pod安装和pod更新中的不同用法,最后详细介绍了如何使用所有这些逻辑 这个关于校验和的艺术博客。值得注意的是,单个空格将创建一个新的校验和,并可能使内容不同步。


如果您使用Windows进行Git签出和Podfile,也会发生这种情况。lock使用窗口(CRLF)行结束符创建。


对我来说,这是Ruby版本号的问题。

我得到了错误:

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

在尝试了一百万件事情之后,包括这个线程中包含的大部分内容,我最终破解了位于:usr/local/bin/pod的pod文件

我更正了第一行,以指向我的机器上实际存在的ruby版本。我改变了:

#!/System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/bin/ruby

to

#!/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/bin/ruby

经过几天的努力,从3级到6级一切都解决了。


我尝试了各种pod安装组合,删除node_modules并重新安装,清理和重建xcode项目,甚至重新启动我的计算机。这些对我都没用……

我的解决方案是在项目的根目录下运行pod—version。我不知道如何或为什么,但这成功地安装了一个缺失的依赖,所以我想我在这里分享它,以防它帮助其他人:)


确保pod配置文件已设置。


我可以通过单击产品->清洁构建文件夹来修复此问题。


下面这些简单的步骤对我很有用:

关闭工作空间 执行pod install——repo-update命令 打开你的工作空间,重建(如果你清理你的构建文件夹,这将是更合理的)。


在我的情况下,这个问题是由于腐败*。xcworkspace文件。它在左边的project Navigator菜单中显示了我项目的两个不同版本。

为了验证,我从Build Phases > Check Pods Manifest中的bash脚本中删除了输出重定向(> /dev/null)。lock,这样它就会把diff输出到STDOUT。果然,在阅读构建日志时,我得到了完全不同的Podfile。锁定和清单。锁输出。

为了解决这个问题,我删除了*。Xcworkspace,然后运行pod install再次从我的ios文件夹。自动重新生成工作区文件。在XCode中打开这个新文件,瞧,再也没有构建错误了。


检查吊舱目标和跑者目标必须一致

1 -跑步

2 -吊舱


你能试试这个吗:

删除Pods文件夹 删除Podfile.lock 运行pod安装 清洁+建造


我通过运行pod安装并复制pod /Manifest文件的内容来解决。锁到Podfile.lock文件


我们也遇到了同样的问题,我们团队中有人打开了Podfile。锁在Visual Studio Code中,保存它,编辑器已经删除了文件末尾的CR(回车)。重新引入“CR”解决了这个问题。 所以一定要运行这个命令来找出这些文件不同的原因。

diff "${PODS_ROOT}/../../Podfile.lock" "${PODS_ROOT}/Manifest.lock"

删除pod .framework:

文件夹名为Pods 链接框架和库 并删除所有新的输入行从@主文件应用程序的ios


以下华氏先生的回答帮助我解决了mac m1上的问题,而不是pod安装是运行:

sudo arch -x86_64 gem install ffi
arch -x86_64 pod install

而不是吊舱安装


这对我很有帮助。希望对你有所帮助

删除

进口“飞镖:html”;未使用的