25

在尝试了谷歌的多个答案后,我得到了以下错误。

PhaseScriptExecution Check\ Pods\ Manifest.lock /Users/apple/Library/Developer/Xcode/DerivedData/Build/Intermediates/FoodSpot.build/Debug-
    iphonesimulator/FoodSpotTests.build/Script-36819C3C1B6A30F50091382D.sh
        cd "/Users/apple/Downloads/FoodSpot 2"
        /bin/sh -c /Users/apple/Library/Developer/Xcode/DerivedData/Build/Intermediates/FoodSpot.build/Debug-iphonesimulator/FoodSpotTests.build/Script-36819C3C1B6A30F50091382D.sh

    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.

我已经更新和安装了很多次,但它们没有用。

4

22 回答 22

43

对我来说,原因是在构建设置中遗漏了用户定义的变量!

调查这个问题,构建阶段尝试区分 2 个文件。

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

仅仅因为缺少 PODS_PODFILE_DIR_PATH 和 PODS_ROOT 变量,假设它们为“”,所以 ${PODS_PODFILE_DIR_PATH}/Podfile.lock 指向 /Podfile.lock 和另一个相同。
所以它失败了

diff /Podfile.lock and /Manifest.lock

我通过将 2 个用户定义的设置添加到构建设置来解决此问题

PODS_ROOT = ${SRCROOT}/Pods
PODS_PODFILE_DIR_PATH = ${SRCROOT}/.

经过数小时的搜索,这是唯一对我有用的解决方案

于 2017-11-04T05:32:15.497 回答
30

对我来说,它在以下之后起作用:

pod deintegrate --verbose    
pod install --verbose
于 2016-02-17T02:28:40.183 回答
17

运行“pod install”或更新您的 CocoaPods 安装。

你有错误本身的答案!

错误消息指出您应该更新CocoaPods安装。

您可以删除框架和库中的 libPods 并使用pod install.

还:

清理并构建项目

所以参考:

项目构建中的 CocoaPods 错误

使用 cocoapods 安装 RestKit 后出现错误:“沙箱与 Podfile.lock 不同步...”

于 2015-07-31T05:16:46.517 回答
12

我一直在寻找几个小时,我找到了如下解决方案:

就我而言,方法3有效。

方法一:

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

     pod install
    
  3. 清理并构建项目

参考文献1

方法二:

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

    pod deintegrate --verbose    
    pod install --verbose
    

参考文献2

方法三:

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

    PODS_ROOT = ${SRCROOT}/Pods
    

    PODS_PODFILE_DIR_PATH = ${SRCROOT}/
    

参考文献3

于 2018-12-13T05:20:49.090 回答
5

只需转到构建阶段并单击 [CP] 检查 Pods Manifest.lock。

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

PODS_PODFILE_DIR_PATH 和 POD_ROOT 都应该在用户定义的构建设置中定义。POD_ROOT 应该有 Manifext.lock 文件的正确路径并且 POD_PODFILE_DIR_PATH 应该有 Podfile.lock 的正确路径

因此,在构建设置中添加以下内容。

PODS_ROOT ---- ${SRCROOT}/Pods

PODS_PODFILE_DIR_PATH ---- ${SRCROOT}
于 2017-10-24T22:03:08.047 回答
3

问题是在目标构建阶段检查 Pods Manifest.lock 脚本无法找到 Podfile.lock 和 Manifest.lock。

在此处输入图像描述

这通常是由未定义 PODS_PODFILE_DIR_PATH 和 PODS_ROOT 变量引起的。

转到构建设置选项卡以定义它们。

在此处输入图像描述

您需要在项目中查找 Podfile.lock 和 Manifest.lock 并获取其目录的完整路径。目录路径将是您用于 PODS_PODFILE_DIR_PATH 和 PODS_ROOT 的值。

于 2018-10-02T22:19:56.630 回答
2

删除派生数据对我有用。我通过进入查找器本身删除了。

于 2016-04-14T13:10:44.000 回答
2

在 podfile 中进行更改,如下所示:

旧的 pod 文件

目标 :TargetName, :exclusive => true 做

更改的 pod 文件

目标'TargetName'做

于 2016-06-08T08:13:59.760 回答
2

我很确定您已经打开了您尝试安装新 Pod 的项目工作区。所以尝试以下(对我来说这有效):

  1. 清理项目
  2. 关闭项目
  3. pod install
  4. 打开项目并再次尝试重新构建它

问题可能已经解决。

于 2016-07-21T09:11:42.693 回答
1

确保在构建步骤之前添加“pod install”命令行构建Xcode Project步骤。

该错误来自 Xcode 项目目标中的构建阶段运行脚本,该脚本无法找到 Podfile.lock。该文件由 CocoaPods 生成,必须在 TeamCity 项目的构建步骤中安装。

我的构建步骤如下所示:

  1. 命令行:(bundle install --path .bundle使用 将 cocoapods 安装到项目本地Gemfile)。
  2. 命令行:(bundle exec pod install --verbose使用Podfile
  3. 命令行:(carthage update --platform iOS使用Cartfile
  4. Xcode 项目
  5. 建立档案的命令行
  6. 命令行上传构建

希望这可以帮助。

于 2016-04-15T18:50:08.850 回答
1

就我而言,在集成其他目标后,我遇到了同样的错误。为了解决问题,我需要在 Podfile 中添加两个目标:

abstract_target 'myApp' do
   use_frameworks!

   pod 'Alamofire', '~> 3.0'
   pod 'SwiftyJSON'

    target 'myAppOtherTarget'
end
于 2016-10-06T13:08:27.673 回答
1

如果可可豆荚没有正确安装或卸载,就会发生这种情况

如果要安装可可豆荚,请运行

pod install

如果要卸载可可豆荚,请运行命令

pod deintegrate
于 2017-04-27T11:13:07.290 回答
1

我遇到过同样的问题。原来 Manifest.lock 上的 cocoapods 版本比我的 mac 上的要高。我必须执行“sudo gem install cocoapods”,以使 cocoapods 的版本达到 Manifest.lock 文件中指定的版本。这解决了这个问题,我在构建项目时没有错误。

于 2017-07-04T01:56:58.197 回答
1

我通过将 2 个用户定义的设置添加到构建设置来解决此问题

PODS_ROOT = ${SRCROOT}/Pods
PODS_PODFILE_DIR_PATH = ${SRCROOT}/.
于 2018-09-01T12:33:43.690 回答
1

编辑

原来我的问题是由于 Manifest.lock 末尾的新行导致 PodFile.lock 文件中不存在。在这两个文件上运行差异突出了该问题。

在 PodFile.lock 文件的末尾添加一个新行解决了它。

原始答案

没有一个答案对我有用,所以我刚刚检查了“[CP] Check Pods Manifest.lock”下的“For install builds only”,该选项位于构建阶段选项卡中。

我相信这个设置意味着它只会在存档时运行该检查,让我可以继续开发,因为我不需要在我的机器上存档应用程序。

谨慎使用,因为它可能不是每个人的最佳解决方案。

[CP] 检查 Pods Manifest.lock

于 2021-06-17T13:04:07.050 回答
0

就我而言,错误发生在 _Tests 目标上。我不需要 _Tests 目标,所以我删除了它。这解决了错误。

于 2016-07-06T04:31:06.013 回答
0

我现在面临同样的问题,并在导航到终端中的项目位置后使用此命令修复。

pod install --repo-update
于 2017-09-18T13:52:58.013 回答
0

如果您碰巧像我一样移动了 Podfile 并遇到了这个问题,下面讨论的解决方案可能会有所帮助 -

  1. 删除以下所有 - Pods 文件夹、xcworkspace 文件、podlock 文件(跳过子文件夹不可用的那些)
  2. 从构建阶段选项卡中删除所有包含 [cp] 的步骤
  3. 对工作区中的所有子项目重复第 1 步和第 2 步
  4. 打开工作区,进入每个项目并删除 pod 的框架,并从每个项目中删除 pods 文件夹
  5. 关闭工作区
  6. 运行 pod 安装

您现在应该能够打开、构建和运行项目

于 2017-12-06T20:01:31.147 回答
0

我只是通过更新 Cocoapod 来修复它,因为在错误之前有日志,其中警告显示我们需要升级我们的 cocoapods,因为当前的 cocoapod 版本不支持 pod 文件,所以清理项目,升级 cocoapod 然后安装 pod。

1. Clean project
2. sudo gem install cocoapods/gem install cocoapods
3. pod install (optional if your project still shows error)

注意:我在 iOS 平台上的颤振应用程序中发现了这个错误

于 2019-08-16T11:14:24.227 回答
0

我认为您正在尝试在当前项目中使用旧项目 pod 文件夹,您必须复制Manifest.lock当前项目的文件并将该文件替换到您添加的旧项目的 pod 文件夹中。Manifest.lock文件位置 YourProject->Pods->Manifest.lock 希望这很有帮助。为我工作!

于 2020-02-15T06:24:08.950 回答
0

请查看Top Sites - Sandbox Sync iOS以获得更多解释。我通过更改文件路径解决了这个问题

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

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

Xocde -> "Open Your Project" -> "Select Your Project" -> "Select Your Target" -> Build Phases -> Check Pods Manifest.lock

如果没有,请尝试如上所述更改路径,以及Legacy Build System. 更改构建系统Xcode -> File -> Workspace Settings -> Build System -> Legacy Build System

于 2020-07-08T09:42:27.550 回答
-1

我不想这么说,但我只是删除了 pod/ 或者没有将它们包含在项目中并且它构建了。我不知道这是否会对项目产生长期影响。

这是目前我为 ionic5 for ios 构建的 .sh 脚本。它可能会在未来发生变化。

# BUILDING FOR IOS

##################################
#
#     MAKE SURE YOU UNPLUG ALL DEVICES!!!!!
#
##################################

 
ionic cordova platform remove ios
ionic cordova prepare ios 
ionic cordova platform add ios
ionic cordova build ios --prod --release --buildFlag="-UseModernBuildSystem=0" --verbose
cd platforms
cd ios
open "MyApp.xcworkspace/"
cd ..
cd ..

它一直困扰着我的项目,所以我想我会把它们拿出来。到目前为止,我还没有部署该项目......所以谁知道呢。BigSur 11.1、XCode 12.4 (12D4e)

于 2021-02-06T01:54:11.657 回答