【问题标题】:IOS app size doubled after updating frameworks that enable bitcode更新启用位码的框架后,IOS 应用程序大小翻了一番
【发布时间】:2015-09-16 10:36:59
【问题描述】:

在上个月,我为 TestFlight 上传了两个构建版本。在 ItunesConnect 上,一个大小为 63MB,而另一个大小为 160MB!更糟糕的是:它在 TestFlight 上显示为 195MB,而对于其他帖子,它将是 App Store 上的两倍!

我使用的框架/库:

  • Facebook SDK:我包括 FBSDKCoreKit 和 FBSDKLoginKit。 (只需将 .framework 项拖放到项目中即可。
  • Alamofire,两个版本都包含 swift 2.0 预发布分支(Xcode 7 仍处于测试阶段)。我通过将.xcodeproj 拖放到我的应用程序中来包含此内容。
  • Google Cloud Messeging,通过 CocoaPods 下载。

regarding changes:

  • 我将 FacebookSDK 更新为最新的 SDK (v4.6.0)。为了检查这是否是问题所在,我再次包含了旧 SDK,并检查了文件大小,但没有任何区别。
  • 我更新了 Alamofire,包括通过 cocoapods 发布的官方版本。通过 cocoapods 包含文件会使文件大小增加 17MB,因此我切换回在我的项目中包含 .xcodeproj

Regarding code: 没什么大不了的,只是修复了一些错误。

我为我的应用禁用了位码,因为 GCM 尚不支持此功能,Facebook SDK 和 Alamofire 支持此功能。

我真的很想知道为什么文件大小变化如此之大。这可能与 Xcode 7 的发布有关,因为较小的文件大小版本是在使用 Xcode 7 beta 时发布的。

在 iTunes Connect 上显示:Supported Architectures: armv7, arm64Required Capabilities armv7

发送 32 位版本的应用程序是一件好事吗?这会减少文件大小吗?它会拒绝我的应用吗?

有什么想法吗?

【问题讨论】:

  • 应用商店现在需要在您的应用二进制文件中使用 64 位切片。没有绕过运送 armv7 / arm64 二进制文件。只是 arm64 可能会起作用,但对此并不积极。
  • 嗯好的,但它说需要amv7?它真的会减小我的文件大小吗?
  • 可能,但您将放弃对 iPhone 5C 及更低版本和 iPad 第 3 代及更低版本的支持。这些设备不支持 arm64。这是一个带有some additional details 的网站。
  • 另一个问题。您是否打开了 .ipa 并查看了文件大小?查看导致捆绑包大小增加最大的原因可能会很有用。
  • 感谢 Sandy 的帮助,我提取了 ipa 文件并注意到我包含了两种字体,.ttc 扩展名是我从 mac 本身获得的,它们很大! 71MB 和 80MB。

标签: ios xcode swift xcode7 bitcode


【解决方案1】:

尝试打开 .IPA 并查看文件大小。查看导致捆绑包大小增加最大的原因可能会很有用。代码本身不应导致大小增加,因此您可能包含导致大小增加的资产。

如果您有 IPA 文件,您可以将文件扩展名更改为 .zip 并双击解压。它应该生成一个“Payload”文件夹,其中包含应用程序的内容。

【讨论】:

  • 可能会添加一些关于从例如存档中获取 ipa 文件的指南:testdroid.com/tech/…
  • 您在“有效负载”中的哪个位置找到 cocoapods 文件的额外重量?我没看到。我看到的只是我的应用程序和 OnDemandResources 文件夹。该应用程序也没有任何异常。甚至我的 Frameworks 文件夹也是空的。
猜你喜欢
  • 1970-01-01
  • 2023-03-11
  • 1970-01-01
  • 2020-07-14
  • 1970-01-01
  • 1970-01-01
  • 2019-01-02
  • 1970-01-01
  • 2013-09-20
相关资源
最近更新 更多