更新启用位码的框架后,IOS应用程序大小翻了一番

更新启用位码的框架后,IOS应用程序大小翻了一番,ios,xcode,swift,xcode7,bitcode,Ios,Xcode,Swift,Xcode7,Bitcode,在上个月,我上传了两个用于TestFlight的构建。在ItunesConnect上,一个大小为63MB,另一个大小为160MB!更糟糕的是:在TestFlight上显示195MB,至于其他帖子,它的大小将是应用商店上的两倍 我使用的框架/库: Facebook SDK:我包括FBSDKCoreKit和FBSDKLoginKit。(只需将.framework项拖放到项目中即可 Alamofire,两个版本都包含swift 2.0预发布分支(Xcode 7仍处于测试阶段)。我将.xcodepro

在上个月,我上传了两个用于TestFlight的构建。在ItunesConnect上,一个大小为63MB,另一个大小为160MB!更糟糕的是:在TestFlight上显示195MB,至于其他帖子,它的大小将是应用商店上的两倍

我使用的框架/库:

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

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

我已经禁用了我的应用程序的位代码,因为GCM还不支持它,Facebook SDK和Alamofire支持它

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

在Itunes Connect上,它说:
支持的架构:armv7、arm64
必需的功能armv7

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


有什么想法吗?

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


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

应用商店现在需要应用程序二进制文件中的64位片。不要到处运送armv7/arm64二进制文件。仅使用arm64可能会起作用,但这不是积极的。嗯,好吧,但它说需要amv7?它实际上会减少我的文件大小吗?可能,但你会放弃对iPhone 5C的支持,并且会被拒绝低版本和iPad第三代及以下版本。这些设备不支持arm64。这是一个带有的网站。还有一个问题。你打开了.ipa并查看了文件大小吗?看看是什么导致了捆绑包大小的最大增长可能会很有用。感谢Sandy的帮助,我提取了ipa文件,并注意到我有两种字体,
.ttc
我从mac本身获得的扩展名非常大!71MB和80MB。可能会添加一些关于从存档中获取ipa文件的指导原则,例如:在“有效负载”中的何处你找到cocoapods文件的额外重量了吗?我没有看到。我看到的只是我的应用程序和OnDemandResources文件夹。该应用程序也没有任何异常。甚至我的Frameworks文件夹也是空的。