iOS开发:报错The sandbox is not in sync with the Podfile.lock …的解决方法

2022-04-12 17:05:21 浏览数 (2)

前言

在iOS原生开发的时候,凡是涉及到运行项目之后Xcode提示Build target Runner-Log,是不是每次看到这种报错提示就觉得眼前一黑,头皮发麻?其实也没我说的那么夸张,但是有时候遇到这种问题确实比较费头发。本篇文章就来分享一个常见的问题,但是该问题解决起来不复杂,分享出来,方便后期查阅使用。

重现报错提示

具体在Xcode中的报错提示如下所示:

代码语言:javascript复制
    Showing Recent Messages
    diff: /Users/admin/Documents/WorkSpace/Flutter/portal/ios/Pods/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.

分析

根据上面的报错提示,Xcode已经告诉了解决方法,但是对于有些时候根据提示直接去'pod install' 是没有用的,这就需要根据具体情况来具体分析,根据提示其实有两种解决方法,第一种就是直接pod install;另外一种就是直接删除 Podfile.lock文件,然后重新编译项目。

具体解决方法

根据分析可以知道,针对The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods install的报错问题,有如下两种解决方法:

方法一:

根据提示,直接关闭Xcode,然后在终端中直接运行pod install,然后重新打开Xcode运行项目,即可解决。但是一般情况下,这种情况很少,一般遇到上述报错通过方法一是解决不了的,那就需要换解决方法了。

方法二:

直接删除版本不一致的Podfile.lock文件,直接在“访达”的“前往文件夹…”输入路径:~/Library/Developer/Xcode/DerivedData 然后点击前往,如下图所示:

找到对应的项目工程文件夹,然后删除.xcworkspace文件,最后重新在终端中进入项目目录下,执行如下命令:pod install --no-repo-update ,然后重新运行项目即可解决。

拓展

有时候上述两种方法还是不能解决,需要通过别的方式来排除解决本文的报错问题,也有两种方法来排查解决,具体如下所示:

拓展方法一:

修改设置Xcode中的Configurations,在打开Xcode之后,选择Project—>Info tab,然后查看Configurations的设置是不是None,如果设置的是None,这就需要把设置改为Pods,然后修改Pods的脚本文件路径,然后重新编辑运行项目即可解决报错,但是该问题也不是绝对的,如果该方法解决不了上述报错,就需要换另外的解决方法了。

拓展方法二:

找到项目文件的根目录下的Podfile.lock文件,然后再找到Pods文件夹下的Manifest.lock文件,接着复制项目根目录下的Podfile.lock文件的全部内容,直接替换Pods文件夹下的Manifest.lock文件内容,然后重新运行项目,就解决问题了。

附录:

在分享一个国外开发者解决本文报错的步骤,具体如下所示:

代码语言:javascript复制
  步骤I. Project Cleanup
    In the project navigator, select your project
    Select your target
    Remove all libPods*.a in  Linked Frameworks and Libraries
  步骤II. Update CocoaPods
    Launch Terminal and go to your project directory.
    Update CocoaPods using the command  pod install

最后

通过本文的讲解,在iOS开发中再遇到报错The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation的问题,就知道怎么解决了吧,其他内容这里就不再一一赘述。

0 人点赞