从谷歌尝试多个答案后,我遇到以下错误。
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.
我已多次更新和安装,但它们毫无用处。
答案 0 :(得分:26)
对我来说,它适用于以下情况:
pod deintegrate --verbose
pod install --verbose
答案 1 :(得分:19)
对我来说,原因是在Build Settings中错过了User-Defined变量!
调查问题,Build Phases尝试区分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
我通过在Build Settings
中添加2个用户定义的设置来修复此问题PODS_ROOT = ${SRCROOT}/Pods
PODS_PODFILE_DIR_PATH = ${SRCROOT}/.
经过几个小时的搜索,这是唯一对我有用的解决方案
答案 2 :(得分:15)
运行' pod install'或者更新你的CocoaPods安装。
您已在错误中回答了问题!
错误消息指出您应该更新CocoaPods安装。
您可以删除框架和库中的libPod,并使用pod install
更新Cocoapod。
同时强>
清理并构建项目
SO参考:
CocoaPods Errors on Project Build
Error:"The sandbox is not in sync with the Podfile.lock..." after installing RestKit with cocoapods
答案 3 :(得分:2)
只需转到构建阶段,然后单击[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}
答案 4 :(得分:2)
问题是在目标构建阶段中,“检查Pod Manifest.lock”脚本无法找到Podfile.lock和Manifest.lock。
这通常是由于未定义PODS_PODFILE_DIR_PATH和PODS_ROOT变量引起的。
转到“构建设置”标签以定义它们。
您将需要在项目中查找Podfile.lock和Manifest.lock,并获取其目录的完整路径。目录路径将是您用于PODS_PODFILE_DIR_PATH和PODS_ROOT的值。
答案 5 :(得分:2)
在podfile中进行更改,如下所示:
较旧的pod文件
target:TargetName,:exclusive =>是的
更改了pod文件
目标' TargetName'做
答案 6 :(得分:2)
删除派生数据对我来说很有用。我通过进入查找器本身删除了。
答案 7 :(得分:1)
我很确定你已经打开了你的项目'您尝试安装新Pod的工作区。所以试试以下(对我来说这很有用):
pod install
问题可能已经解决。
答案 8 :(得分:1)
在我的情况下,我在整合其他目标后得到了同样的错误。要解决问题,我需要在Podfile中添加两个目标:
abstract_target 'myApp' do
use_frameworks!
pod 'Alamofire', '~> 3.0'
pod 'SwiftyJSON'
target 'myAppOtherTarget'
end
答案 9 :(得分:1)
确保在Xcode Project
构建步骤之前添加“pod install”命令行构建步骤。
错误来自Xcode项目目标中的构建阶段运行脚本,该脚本无法找到Podfile.lock。此文件由CocoaPods生成,必须在TeamCity项目的构建步骤中安装。
我的构建步骤如下:
bundle install --path .bundle
(使用Gemfile
在项目本地安装cocoapods。)bundle exec pod install --verbose
(使用Podfile
)carthage update --platform iOS
(使用Cartfile
)希望这有帮助。
答案 10 :(得分:0)
编辑
结果证明我的问题是由于 Manifest.lock 末尾的新行在 PodFile.lock 文件中不存在。对这两个文件运行差异突出显示了问题。
在 PodFile.lock 文件的末尾添加一个新行解决了它。
原答案
没有一个答案对我有用,所以我刚刚检查了“[CP] Check Pods Manifest.lock”下的“For install builds only”,它位于构建阶段选项卡中。
我相信这个设置意味着它只会在存档时运行检查,让我可以继续开发,因为我不需要在我的机器上存档应用程序。
谨慎使用,因为它可能不是适合所有人的最佳解决方案。
答案 11 :(得分:0)
就我而言,错误发生在_Tests目标上。我不需要_Tests目标,所以我删除了它。这解决了错误。
答案 12 :(得分: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
答案 13 :(得分:0)
我认为您正在尝试在当前项目中使用旧项目的pod文件夹,您必须复制当前项目的Manifest.lock
文件,并将该文件替换为您添加的旧项目的pod文件夹。 Manifest.lock
文件位置YourProject-> Pods-> Manifest.lock
希望这会有所帮助。为我工作!
答案 14 :(得分: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平台上的Flutter应用程序中发现了此错误
答案 15 :(得分:0)
我一直在搜索几个小时,发现以下解决方案:
就我而言,方法3可行。
方法1:
打开终端>直接转到您的项目>运行:
pod install
清理并构建项目
方法2:
打开终端>直接转到您的项目>运行:
pod deintegrate --verbose
pod install --verbose
方法3:
添加2个用户定义的设置:[左侧=右侧]
PODS_ROOT = ${SRCROOT}/Pods
和
PODS_PODFILE_DIR_PATH = ${SRCROOT}/
答案 16 :(得分:0)
我通过在“构建设置”中添加2个用户定义的设置来解决此问题
PODS_ROOT = ${SRCROOT}/Pods
PODS_PODFILE_DIR_PATH = ${SRCROOT}/.
答案 17 :(得分:0)
如果你碰巧像我一样移动你的Podfile并面对这个问题,下面讨论的解决方案可能会有所帮助 -
您现在应该能够打开,构建和运行项目
答案 18 :(得分:0)
我现在面临同样的问题,并在导航到终端中的项目位置后使用此命令修复。
pod install --repo-update
答案 19 :(得分:0)
我有同样的问题。原来Manifest.lock上的cocoapods版本高于我在Mac上的版本。我不得不做一个' sudo gem install cocoapods',以使cocoapods的版本达到Manifest.lock文件中指定的版本。这解决了这个问题,我在构建项目时没有任何错误。
答案 20 :(得分:0)
如果可可豆荚没有正确安装或卸载,就会发生这种情况
如果你想安装cocoa pods
pod install
如果您要卸载可可豆荚,请运行命令
pod deintegrate
答案 21 :(得分:-1)
我不想这么说,但我只是删除了 pods/ 或者没有将它们包含在项目中并且它构建了。我不知道这是否会对项目产生长期影响。
这是目前我的 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)