修复Flutter一些iOS编译错误

修复Flutter一些iOS编译错误

Сocoapods trunk URL couldn't be downloaded

逐行运行此命令

shell 复制代码
gem uninstall cocoapods 
arch -x86_64 brew install cocoapods 
arch -x86_64 brew reinstall cocoapods 
cd ios 
pod cache clean --all 
pod install (如果m1 macOS 运行这个"arch -x86_64 pod install")
pod update

[!] CocoaPods did not set the base configuration of your project because your project already has a custom config set. In order for CocoaPods integration to work at all, please either set the base configurations of the target Runner to Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig or include the Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig in your build configuration (Flutter/Release.xcconfig).

  1. 我们首先用Xcode打开ios/Runner.xcworkspace
  2. 然后选中Project Navigator下的Runner项目,再选中PROJECT下面的Runner,再然后选中Info
  3. 我们找到Configurations,把DebugReleaseProfile下面的Runner/Runner全部选为None;
  4. 再一次运行pod update,警告消息。

需要注意的是,如果运行了pod update之后,选项会被自动勾选为Pods-Runner.debug或者Pods-Runner.release,在这个选项之下,会报错:

Command PhaseScriptExecution failed with a nonzero exit code

如果需要解决这个报错,只需要修改为Debug或者Release即可消除。

Framework 'Pods_Runner' not found

  1. 删除掉ios文件夹下面的Podfile文件;
  2. 在项目的文件夹下,按顺序运行flutter cleanflutter pub get命令,它将会重新生成Podfile文件;
  3. 在新的Podfile文件中的# platform :ios, '12.0'的版本号修改为14.0,并取消掉注释:platform :ios, '14.0';
  4. ios文件夹下运行pod install命令。

根据我实际的测试,我发现这个问题很奇怪,实际上,不需要上面步骤那么复杂,只要触发了这个编译错误,你只需要执行一次 步骤2和4即可,再编译就不会出现这个错误了。

这个时候,一切就都正常了。

我在Intel芯片的Macbook上没有问题,但是在ARM的M2芯片下碰到的这个问题。

参考资料

相关推荐
天外飞雨道沧桑4 分钟前
TypeScript 中 omit 和 record 用法
前端·javascript·typescript
Lee川24 分钟前
mini-cursor 揭秘:从 Tool 定义到 Agent 循环的完整实现
前端·人工智能·后端
canonical_entropy1 小时前
从 Spec-Driven Development 到 Attractor-Guided Engineering
前端·aigc·ai编程
研☆香1 小时前
聊聊前端页面的三种长度单位
前端
给钱,谢谢!2 小时前
React + PixiJS 实现果园成长页:从状态机到浇水动画
前端·react.js·前端框架
暗冰ཏོ3 小时前
VUE面试题大全
前端·javascript·vue.js·面试
次元工程师!3 小时前
LangFlow开发(三)—Bundles组件架构设计(3W+字详细讲解)
java·前端·python·低代码·langflow
小蜜蜂嗡嗡3 小时前
flutter image_cropper截图控件布局顶到状态栏中问题
flutter
Bug-制造者4 小时前
现代Web应用全栈开发:从架构设计到部署落地实战
前端
青春喂了后端4 小时前
IntelliGit 前端状态层重构:把一个全局 Store 拆成清晰的状态边界
前端·重构·状态模式