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

参考资料

相关推荐
理想不理想v2 分钟前
vue经典前端面试题
前端·javascript·vue.js
不收藏找不到我3 分钟前
浏览器交互事件汇总
前端·交互
DisonTangor11 分钟前
苹果发布iOS 18.2首个公测版:Siri接入ChatGPT、iPhone 16拍照按钮有用了
ios·chatgpt·iphone
- 羊羊不超越 -13 分钟前
App渠道来源追踪方案全面分析(iOS/Android/鸿蒙)
android·ios·harmonyos
YBN娜17 分钟前
Vue实现登录功能
前端·javascript·vue.js
阳光开朗大男孩 = ̄ω ̄=17 分钟前
CSS——选择器、PxCook软件、盒子模型
前端·javascript·css
minDuck22 分钟前
ruoyi-vue集成tianai-captcha验证码
java·前端·vue.js
小政爱学习!42 分钟前
封装axios、环境变量、api解耦、解决跨域、全局组件注入
开发语言·前端·javascript
魏大帅。1 小时前
Axios 的 responseType 属性详解及 Blob 与 ArrayBuffer 解析
前端·javascript·ajax
花花鱼1 小时前
vue3 基于element-plus进行的一个可拖动改变导航与内容区域大小的简单方法
前端·javascript·elementui