沙箱与Podfile.lock-ios不同步

Abd*_*zil 23 xcode ios cocoapods

从谷歌尝试多个答案后,我有以下错误.

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.
Run Code Online (Sandbox Code Playgroud)

我已多次更新和安装,但它们没用.

Art*_*emi 27

对我来说,原因是在Build Settings中输入了User-Defined变量!

在研究这个问题时,Build Phases会尝试区分2个文件.

diff "${PODS_PODFILE_DIR_PATH}/Podfile.lock" "${PODS_ROOT}/Manifest.lock" > /dev/null
Run Code Online (Sandbox Code Playgroud)

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

diff /Podfile.lock and /Manifest.lock

我通过在Build Settings中添加2个User-Defined设置来修复此问题

PODS_ROOT = ${SRCROOT}/Pods
PODS_PODFILE_DIR_PATH = ${SRCROOT}/.
Run Code Online (Sandbox Code Playgroud)

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

  • 这才是解决问题的正确方法。 (2认同)

Dav*_*ung 26

对我来说,它适用于以下情况:

pod deintegrate --verbose    
pod install --verbose
Run Code Online (Sandbox Code Playgroud)


Tha*_*rif 15

运行"pod install"或更新CocoaPods安装.

你有错误答案!

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

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

也:

清理并构建项目

SO参考:

项目构建中的CocoaPods错误

错误:使用cocoapods安装RestKit后,"沙箱与Podfile.lock ...不同步"

  • 我已经多次更新和安装.但没有用. (5认同)
  • 清理并构建项目 (2认同)
  • 对于未来的寻求者:清理和构建都位于主菜单的“产品”选项卡下。 (2认同)

Edd*_*die 10

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

就我而言,方法 3 有效。

方法一:

  1. 选择目标 > 转到Build Phrases > 单击Link Binary With Libraries > 删除所有libPods.a文件
  2. 打开终端>直接到您的项目>运行:

     pod install
    
    Run Code Online (Sandbox Code Playgroud)
  3. 清理并构建项目

参考文献 1

方法二:

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

    pod deintegrate --verbose    
    pod install --verbose
    
    Run Code Online (Sandbox Code Playgroud)

参考文献 2

方法三:

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

    PODS_ROOT = ${SRCROOT}/Pods
    
    Run Code Online (Sandbox Code Playgroud)

    PODS_PODFILE_DIR_PATH = ${SRCROOT}/
    
    Run Code Online (Sandbox Code Playgroud)

参考文献 3


小智 5

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

diff "${PODS_PODFILE_DIR_PATH}/Podfile.lock" "${PODS_ROOT}/Manifest.lock" > /dev/null
Run Code Online (Sandbox Code Playgroud)

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}
Run Code Online (Sandbox Code Playgroud)