行動效能平臺Emerge Tools發現,iOS開發者改用Xcode 14建置應用程式,可能導致應用程式大小大幅增加,該公司分析應用程式容量增加的原因,是Xcode 14預設停用位元碼(Bitcode)建置功能,Apple不會再替開發者去除不必要的二進位符碼,使得最終應用程式包含許多無用後設資料。

Apple最新的Xcode 14有許多效能與容量改進,整體容量小了30%,更好的平行運算加速專案建置速度25%,長期執行測試的速度也快了30%,但Emerge Tools的執行長Josh Cohenzadeh提到,開發者在使用Xcode 14之後,應該會發現建置出來的iOS應用程式大小明顯增加。

Emerge Tools定期從Apple Store下載應用程式進行分析,觀察到Xcode 14發布不久後,不少應用程式大小明顯增加,先是Zillow,再來是Nike iOS App從182.2 MB成長到322.1 MB,American Airlines則是從182.2 MB變大至389.1 MB,Chime也從162.8 MB上升到212.8 MB。Josh Cohenzadeh表示,這每一個應用程式容量躍增,都是因為第一次使用Xcode 14建置。

Emerge Tools比較了Nike iOS App使用Xcode 14前後應用程式的大小,10月8日版本22.35.0的Emerge分析中,總安裝大小為191.7 MB而框架占163.7 MB,到了10月15日的版本22.36.1,應用程式總安裝大小322.1 MB,其中框架大小上升127.3 MB至293.8 MB,而Emerge Tools發現這成長的大小,皆來自DYLD.String表格增加,而這是產品環境不需要的後設資料,也就是說Nike iOS App在沒有任何重大功能變化下,應用程式就增加了130 MB。

而之所以出現此狀況,是因為Xcode 14預設停用位元碼建置,使用位元碼建置的功能,也會在未來的Xcode版本中移除。位元碼是一種打包應用程式的方法,會將部份建置過程留給Apple,在開發者將應用程式提交給App Store後,Apple會將二進位符碼去除。

去除二進位符碼是從二進位檔案中,刪除特定類型的後設資料,這些後設資料在產品環境之前可能有用,但是對在產品環境中執行的應用程式並沒有用處,像是生成dSYM檔案,就只會使產品版本變大。

簡單來說,位元碼透過去除二進位符碼來最佳化產品建置,在沒有開啟位元碼功能的情況下,開發者需要變更Xcode建置設定,來去除二進位符碼。應用程式大小很重要的原因,Josh Cohenzadeh解釋,因為應用程式大小是影響使用者安裝和移除的重要因素之一,持續監控應用程式將可提早發現類似的問題。

熱門新聞

Advertisement