Flutter打包IOS相关问题记录

Posted 白玉梁

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Flutter打包IOS相关问题记录相关的知识,希望对你有一定的参考价值。

首先,如果从未在MacOS上运行过Flutter应用,当首次安装androidStudio并配置完Flutter环境后,创建FlutterProject并运行在ios模拟器上时,很可能会报错:

CocoaPods not installed...

此时需要安装CocoaPods:

$ sudo gem install cocoapods

但本人在安装时,一直失败:

Failed to build gem native extension...

对本人有效的解决办法:

1.更换homebew源:

$ /bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)"


选择5阿里巴巴源。

2.如提示是否执行,输入Y,确定。

3.如提示输入密码,则输入自己设定的系统密码,确定。

4.更新ruby版本,先替换rvm源:

移除国外源:

$ gem sources --remove https://rubygems.org/

添加国内源:

$ gem sources -a https://gems.ruby-china.com/

安装最新版ruby:

$ rvm install 3.0.2

此时,再次执行cocoapods的安装:

$ sudo gem install cocoapods

此时很快就会安装完毕!

如果我们的Flutter项目是在windows上创建的,并一直运行的安卓环境,当把项目转移至Mac上想编译IOS应用,同样会遇到各种问题,这里的解决办法是,我们在mac上导入Flutter项目后:

删除以上文件,以及IOS文件夹下的build和Pods目录,如果有的话,然后打开pubspec.yaml,执行pub get!

最后打开ios模拟器,并运行项目,flutter会自动编译ios运行环境!

如果提示:

The iOS Simulator deployment target 'IPHONEOS_DEPLOYMENT_TARGET' is set to 8.0, but the range of supported deployment target versions is 9.0 to 14.4.99

则可以打开ios下的Podfile文件,

post_install do |installer|
  installer.pods_project.targets.each do |target|
    flutter_additional_ios_build_settings(target)
  end
end

添加:

post_install do |installer|
  installer.pods_project.targets.each do |target|
    flutter_additional_ios_build_settings(target)
    target.build_configurations.each do |config|
      config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '9.0'
    end
  end
end

如果提示:

The application's Info.plist does not contain CFBundleVersion.

则打开info.plist将CFBundleVersion版本号改为固定值即可!


以上是关于Flutter打包IOS相关问题记录的主要内容,如果未能解决你的问题,请参考以下文章

Flutter WebView加载本地html的问题

Flutter项目打包iOS出现 ITMS-90078 Missing Push Notification Entitlement问题

错误记录Flutter 混合开发获取 BinaryMessenger 报错 ( FlutterActivityAndFragmentDelegate.getFlutterEngine() )(代码片段

Fastlane 一键打包/发布APP - 使用记录及踩坑

Fastlane 一键打包/发布APP - 使用记录及踩坑

flutter Web打包