修复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芯片下碰到的这个问题。

参考资料

相关推荐
小村儿14 分钟前
给 AI Agent 装上"长期记忆":Karpathy 的 LLM Wiki 思想,我做成了工具
前端·后端·ai编程
竹林81819 分钟前
用ethers.js连接MetaMask实现Web3钱包登录:从踩坑到稳定运行的完整记录
前端·javascript
heyCHEEMS22 分钟前
如何用 Recast 实现静态配置文件源码级读写
前端·node.js
心连欣23 分钟前
从零开始,学习所有指令!
前端·javascript·vue.js
review4454326 分钟前
大模型和function calling分别是如何工作的
前端
东东同学27 分钟前
耗时一个月,我把 Nuxt 首屏性能排障经验做成了一个 AI Skill
前端·agent
冴羽1 小时前
超越 Vibe Coding —— AI 辅助编程指南
前端·ai编程·vibecoding
MonkeyKing71551 小时前
iOS 开发 ARC 与 MRC 底层原理及区别
ios·面试
梦想的颜色2 小时前
一天一个SKILL——前端最佳自动化测试 webapp-testing
前端·web app
SoaringHeart2 小时前
Flutter进阶:放弃 MediaQuery.of(context) 使用 NScreenManager
前端·flutter