使用 Xcode 16 生成构建后,iOS 应用程序大小增加。我比较了 Xcode 15.8 和 Xcode 16.1 版本生成的 .ipa 文件内容,大小大幅增加,这是来自大小为 494.7mb 的 Hermes.framework
Xcode 15.8
IPA size is 22.4 mb and app size 58.2 MB
Hermes.framework size 3.1 mb
Xcode 16.1
IPA size 198 mb and app size 598 MB
Hermes.framework size 494.7 mb
我尝试启用位码,尝试了 stackoverflow 中的所有可能的解决方案,但到目前为止没有任何有助于减小应用程序大小的方法。
使用 Xcode 16 构建的 iOS 应用程序尺寸显着增大
如有任何帮助/建议,我们将不胜感激。
谢谢。
Apple 对 Xcode 14 进行了更改,提供了在生成构建时启用或禁用位代码的选项,但是在最新版本的 Xcode 16 中,苹果已完全删除了对位代码选项的支持。
我比较了 Xcode 15.8 和 Xcode 16.1 的 ipa 文件及其内容,发现 Hermes.framework 大小增加了 10 倍。 .ipa 大小增加的原因是 Hermes 引擎框架按照此启用了位代码
https://github.com/facebook/hermes/issues/1525。
现在这个问题已经被React Native团队用react-native 0.73.0及以上版本修复了。
随着 Xcode16 版本的发布,Appstore connect 将验证捆绑到 .ipa 中的每个框架,并将检查位代码(附上相同的屏幕截图以供参考。)
Solution 1: Strip Bit-code From every Framework using script (Quick Solution)
To resolve this we can manually check for the bit-code in every framework using script and strip the symbols before we generate the .ipa
https://github.com/facebook/hermes/issues/1525
Solution 2: Upgrade to Latest Version (Longer Term Solution)
Upgrade React-native and other frameworks to be compatible with Xcode16 build process.