如何减少 Flutter 中 IOS 构建的 .ipa 文件大小?
Posted
技术标签:
【中文标题】如何减少 Flutter 中 IOS 构建的 .ipa 文件大小?【英文标题】:How to reduce .ipa file size of IOS build in Flutter? 【发布时间】:2020-01-23 13:52:19 【问题描述】:我为应用商店创建了一个用于 Flutter 的 ios 构建,并生成了它的存档,生成了一个巨大的 90 MB .ipa 文件。我在网上搜索了很多关于如何减少 IPA 文件大小但没有得到任何合适答案的方法。我尝试了几种方法,例如:
-
flutter clean 命令在项目终端中,然后使用 flutter build ios 命令,但它并没有减小大小。
我检查了 Strip Swift Symbols 选项,但它只减少了 1 或 2 MB 的大小。
将我的 Xcode 项目从 Swift 切换到 Objective-C 是否会减小我的 .ipa 文件大小? 我在我的 Flutter 应用程序中使用了几个第三方库,它们是否对如此庞大的规模负责?
cupertino_icons: ^0.1.2
gradient_app_bar: ^0.1.3
url_launcher: ^5.1.2
easy_localization: ^1.3.0+1
http: ^0.12.0+2
connectivity: ^0.4.4
fluttertoast: ^3.1.3
carousel_slider: ^1.3.0
image_picker: ^0.6.1+4
flutter_barcode_scanner: ^0.1.5+1
【问题讨论】:
我对此没有答案,也许可以减少它。仅供参考,您将很难/不可能尝试使混合/跨平台应用程序与本机应用程序具有相同的大小。这是使用 Flutter、react-native 等工具的一个有据可查的缺点。为了获得最佳性能和下载大小,您需要使用原生 是的,这些混合框架在性能和大小方面无法替代原生应用,但我需要通过单一代码库为 android 和 IOS 创建应用。我不知道颤振会生成这么大的 .ipa 文件。有什么方法可以将 Flutter 中使用的 Swift 代码转换为 Objective-C 以减少 .ipa 文件的大小? 【参考方案1】:您是否尝试在构建命令末尾使用--split-debug-info=
?
【讨论】:
【参考方案2】:从 Flutter 1.17 开始
您会发现应用程序大小减少了 20%,
此外,混淆您的代码会减小您的应用程序大小 https://flutter.dev/docs/deployment/obfuscate
提示!在 Flutter 1.17 中,它们在 iOS 上将应用性能提高了 50%
【讨论】:
以上是关于如何减少 Flutter 中 IOS 构建的 .ipa 文件大小?的主要内容,如果未能解决你的问题,请参考以下文章
构建 Flutter iOS 应用程序时如何解决“格式错误的项目”构建错误