Redian新闻
>
Xcode弃用Bitcode,导致应用体积大幅增加

Xcode弃用Bitcode,导致应用体积大幅增加

公众号新闻

出品 | OSC开源社区(ID:oschina2013)

Emerge 是一个监测和减少应用程序大小的平台,可以持续监测并分析应用程序二进制大小,帮助开发者编写更小、更好的代码。近日 Emerge 发布了一份报告,显示最新版本的 Xcode 存在会无意中增加应用程序体积的问题。

Xcode 14 于今年 9 月份正式发布,新版本添加了对 Swift 5.7 的支持,并针对 macOS Ventura、iOS/iPadOS 16 等最新系统添加了 SDK,除此之外,新版本 Xcode 的速度更快、体积缩小了 30%、增加的并行性使得构建项目的速度提高了 25%,以及长时间运行测试的速度提高了 30%。

但在 Xcode 14 发布后不久,Emerge 发现一些 iOS 应用程序的体积则是出现了明显增加,其中从 9 月中旬到 10 月初之间,观测到:

  • 耐克 iOS 应用程序的安装大小一开始仅为 182.2MB,之后变成了 322.1MB,空间占用增加了 76%
  • American Airlines(美国航空)从 182.2MB 增加到 389.1MB,增加了 113%
  • Chime 从 162.8MB 增加到 212.8MB,增加了 31%

在上述这些例子中,应用空间占用突然增大都是由于这些应用程序首次使用了 Xcode 14 构建,而归根结底,导致这个问题发生的原因就是 Xcode 14 默认禁用了 Bitcode。

Xcode 14 更新文档中写道:

Xcode 不再默认构建 Bitcode,在未来的 Xcode 版本中,使用 Bitcode 构建的功能将被移除。含有 Bitcode 的 IPA 将在提交给 App Store 之前被剥离 Bitcode。

什么是 Bitcode

Bitcode 是打包应用程序的一种方式,它可以在开发者把应用提交到 App Store 后,将部分构建过程留给苹果公司完成,苹果所做的事情之一是剥离二进制符号。

什么是二进制符号剥离

二进制符号剥离(Binary symbol stripping)是指从二进制文件中删除某些类型的元数据,这些元数据对于在生产中运行应用程序是非必要的。这些元数据在生产前可能是有帮助的,但之后只会让用户的手机变得更加臃肿。

简单的解释是,Bitcode 通过剥离二进制符号优化了生产构建。如果不打开 Bitcode,开发者就需要修改 Xcode 的构建设置,从而以其他方式剥离二进制符号。

也就是说,当开发者更新至 Xcode 14 之后,任何依赖 Bitcode 的应用程序都不再会从其生产的应用程序中剥离二进制符号了,这意味着一个应用程序可以在不增加任何功能的情况下出现体积大幅增加的情况。

Emerge 深度分析了耐克的 iOS 端应用程序,在 22.35.0 版本中,框架在 191.7MB 的安装大小中占了 163.7MB。而到了 22.36.1 版本,框架在 322.1MB 的总容量中激增到 293.8MB。注意在每个框架中发现的深蓝色的 "String Table" 的增加。

通过比较这两个版本,可以发现几乎所增加的 130MB 的体积都来自于 DYLD.String Tables。这些字符串表本身是非必要的元数据,而它们现在已经进入了生产构建中。

两个版本应用程序的二进制符号也从 213.9KB (占应用程序总大小的 0.11%)增长到了 127.5 MB(占应用程序总大小的 40%)。也就是说耐克 iOS 应用程序在没有任何重大功能变化的同时,增加了 130MB。(上图:Xcode 14 之前的二进制符号大小;下图:Xcode 14 之后中的二进制符号大小)

除了上述提到的这些应用,此次体积大幅增加的还包括了 Chrome、Amazon、Twitter、Twitch、ESPN 等常用的软件。

应用程序的大小是影响你的应用程序的安装和卸载指标的最大因素之一,过于臃肿会降低应用安装率和提升卸载率,尤其是对于手机空间比较有限的用户来说更加如此,最终会导致用户数量下滑,反过来也影响应用活跃度,甚至是收入。对开发者来说,定期监测并了解如何减少应用程序的下载和安装大小是一项重要的任务。

相关链接:https://www.emergetools.com/blog/posts/how-xcode14-unintentionally-increases-app-size



 有奖问卷

END



几款实用开源下载工具


这里有最新开源资讯、软件更新、技术干货等内容

点这里 ↓↓↓ 记得 关注✔ 标星⭐ 哦~

微信扫码关注该文公众号作者

戳这里提交新闻线索和高质量文章给我们。
相关阅读
女王去世当天,意外收到她的回信最新XBB毒株袭击三个州!联邦医疗官警告:新冠病例已大幅增加!重磅 ◇ 下月起这11项税收新规生效!许多税大幅增加!事关每个人!美联航:大幅增加中美直飞航班【教育】自闭症男生在课上做了这件事,导致全校罢课【喜讯】民航局官宣!10月30日起大幅增加国际航班!客运航班同比增长105.9%!多伦多大幅增加50%测速摄像头至75个,华人区的这些地方要注意了!2022傅雷翻译出版奖获奖者揭晓 Le palmarès du Prix Fu Lei 2022 dévoilé华府消息|美国会两党支持大幅增加军费以应对中俄又一起IPO终止!连续3年净利润刚过5000万,应收账款、存货大幅增加让孩子开心就好 ???美国被「XBB毒株」爆炸式攻占!具有高度「免疫逃逸」能力!感染人数大幅增加!一男一女在南加橙县杭廷顿滩(Huntington Beach)跳海,导致一人死亡。丽江留美三杰纽约街头小贩猖獗!警察局跟消费局今年执法大幅增加 罚单数量飙升英财数据: 各年龄段租客大幅增加, 中年猛增70%, 多数已放弃买房!京东11.11巅峰28小时火爆开启 海量品牌商家获大幅增长 “以实助实”成实体经济重要增量场警告!澳洲可怕热浪来袭!多地气温飙升超40℃!纷纷破历史记录!住院人数和救护车呼叫数大幅增加!美联航大幅增加中美直飞航班4星半!多伦多谷歌高分室内游乐场盘点:干净、面积大、游乐项目多不查核酸和健康码不搞落地检,春运客流可能大幅增长重磅!今天起,中国航班大幅增加,国际航班数量翻倍,新开数百航线!回国机票大幅回落HTTP 库 Axios 推送损坏的更新,导致数千个网站瘫痪纽约市10月份犯罪增5.9% 法拉盛治安持续恶化 大幅增加了113.14%HTTP库Axios推送损坏的更新,导致数千个网站瘫痪刘强东英文“和解声明”被国内媒体错译,导致意思大相径庭!飓风Ian周末抵达纽约,3英寸降雨+狂风!这些地区尤其严重,导致孤立的洪水...供货理想等近20家主流车企,移远通信5G车载模组交付量大幅增长警察说:晚上睡觉要锁门!球在运动过程中容易受到空气的影响,导致速度下降,怎么样才能让球的时速达到100公里?自闭症男生在课上做了这件事,导致全校罢课龙卷风健康快递 212加拿大最有潜力大幅增长的行业!这份就业趋势报告带你了解薪资情况!国际 | 全球加密资产监管步伐加快,IMF呼吁协调一致应对房产 | 花钱少面积大!纽约兴起康尼岛买房潮,专家详解
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。