You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

停用Bitcode并使用Xcode14后应用体积近乎翻倍,求解决方案

停用Bitcode后Xcode 14打包应用体积大幅增长的问题

Apple自Xcode 14起弃用Bitcode,不再接受启用Bitcode的应用提交。我们PhonePe团队停用Bitcode后,通过Xcode 14将应用上传至App Store Connect,发现应用体积大幅增加:从Xcode 13启用Bitcode时的189 MB,增长至Xcode 14下的342 MB,近乎翻倍。请问是否有其他开发者遇到类似问题,或是有减小应用体积的解决方案?

Bitcode弃用说明

  • 从Xcode 14开始,watchOS和tvOS应用不再要求使用Bitcode,App Store不再接受来自Xcode 14的Bitcode提交。
  • Xcode默认不再构建Bitcode,若项目明确启用Bitcode会生成警告:"Building with bitcode is deprecated. Please update your project and/or target settings to disable bitcode." 未来Xcode版本将移除构建Bitcode的功能。包含Bitcode的IPA在提交至App Store前会被剥离Bitcode。过往Bitcode提交的调试符号仍可下载。(编号:86118779)
  • 由于Bitcode现已被弃用,iOS、tvOS和watchOS的构建默认不再包含Bitcode。(编号:87590506)

问题反馈与解决方案

不少开发者都遇到过停用Bitcode后应用体积暴涨的情况,核心原因是:启用Bitcode时App Store会对二进制文件做二次优化裁剪,而停用Bitcode后,Xcode直接上传未经Apple二次处理的完整二进制包,体积自然会上升。以下是经过验证的体积优化方案:

1. 配置Xcode编译优化

在项目Build Settings中调整以下选项:

  • Release模式下,将Optimization Level设为Fastest, Smallest [-Os]
  • 勾选Strip Debug Symbols During Copy和Strip Linked Product
  • 开启Dead Code Stripping,并将Link Time Optimization (LTO)设为Incremental或Full

2. 精简资源文件

  • 用WebP/HEIC格式替换PNG/JPG图片,大幅压缩图片体积
  • 用工具(如LSUnusedResources)扫描并删除未使用的图片、音频、本地化资源
  • 针对设备分辨率打包适配资源,避免冗余的多尺寸文件

3. 二进制裁剪与分发优化

  • 用lipo工具移除Release包中的模拟器架构(如x86_64),只保留真机所需架构
  • 上传时勾选"Include app thinning variants for all supported devices",开启App Thinning,让App Store针对不同设备分发适配的二进制版本
  • 检查第三方SDK是否包含冗余模块或架构,优先选择轻量级版本,或仅引入所需功能模块

4. 代码层面精简

  • 删除项目中未使用的类、方法和第三方库
  • 用Swift结构体替代部分类,减少运行时开销与二进制体积
  • 避免引入过大的SDK,优先选择功能匹配的轻量级替代方案

补充提示

Xcode 14上传后后台显示的是完整IPA体积,用户实际下载的是经过App Store优化裁剪后的版本(比如适配特定设备的精简包),实际下载体积可能远小于后台显示的342MB。可在App Store Connect的"App Size"页面查看用户端预估下载体积。

内容的提问来源于stack exchange,提问作者Srikanth

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.15 16:55:30