Flutter The sandbox is not in sync with the Podfile.lock.

前因

在将Flutter项目集成到原生iOS项目中报错:The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation. 。根据描述,是podfile.lock 文件没有同步,flutter的集成包中和Xcode中的文件存在差异。并且还友好的给出了解决方案:pod install。然而并没有解决问题。

解决方案

1、关闭Flutter module工程,关闭Xcode工程,删除podfile.lock文件,删除xxx.xcworkspace 文件,命令如下:

bash 复制代码
cd xxx/project
rm -rf podfile.lock
rm -rf xxx.xcworkspace
//如果不希望更新本地仓库推荐使用
pod install --no-repo-update
//pod install

然后重新打开Xcode,清除缓存。如果可以正常运行,则表示问题已处理。

大多时候这样是不能解决问题的,哈哈。。。

2、打开Xcode->选中工程->选中Project->Info->Configurations。

可以看到下面有两栏,对应debug和release,如果右边的Configurations Set上显示的是None,那么把它改成Pods-xxx.debug 。同理Release 也选上。

然后再次跑起来,不出意外,可以正常运行。

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

4、分享其他文章解决问题的步骤

sql 复制代码
步骤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

至此,The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation,问题应该已经解决,Flutter还是有很多坑需要注意的,需要多积累多记录。

相关推荐
爱吃大芒果1 天前
Flutter 路由进阶:命名路由、动态路由与路由守卫实现
开发语言·javascript·flutter·华为·ecmascript
hh.h.1 天前
低代码平台重构:Flutter组件库与鸿蒙分布式能力融合实践
flutter·低代码·重构
denggun123451 天前
ios卡顿监测和优化(二)
ios
hh.h.1 天前
轻量集成向:10分钟实现鸿蒙原生工程集成Flutter模块(HAR包导入+跨端通信)
flutter·华为·开源·harmonyos
hh.h.1 天前
Flutter热重载与鸿蒙原子化服务的动态化革命
flutter·华为·harmonyos
Digitally1 天前
适用于 iPhone 和 iPad 的最佳文件管理器
ios·iphone·ipad
TheNextByte11 天前
如何将 itel 手机中的联系人传输到 iPhone
ios·智能手机·iphone
爱吃大芒果1 天前
Flutter 动画实战:隐式动画、显式动画与自定义动画控制器
开发语言·javascript·flutter·ecmascript·gitcode
L、2181 天前
深入实战:使用 Platform Channel 实现 Flutter 与 OpenHarmony 原生能力互通
分布式·flutter·harmonyos
爱吃大芒果1 天前
Flutter 状态管理全家桶:Provider、Bloc、GetX 实战对比
开发语言·前端·javascript·flutter·华为·ecmascript