问题
具体在Xcode中的报错提示如下所示:
1 2 3 |
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文件内容,然后重新运行项目,就解决问题了。
附录:
在分享一个国外开发者解决本文报错的步骤,具体如下所示:
1 2 3 4 5 6 7 |
步骤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 |