TestFlight意外增加iOS应用程序大小

TestFlight意外增加iOS应用程序大小,ios,unity3d,app-store-connect,testflight,Ios,Unity3d,App Store Connect,Testflight,我们正在为iOS(unity 3d)制作一款游戏,IPA文件大小约为90MB。我们提交了它以供审查,同时我们推动了相同的构建,以测试内部测试人员的飞行。令人惊讶的是,试飞中的大小现在是400 MB(未压缩大小) 我们在以前版本的游戏中使用了试飞内部测试,但从未得到过这么大的尺寸 有人知道试飞是如何使用未压缩的文件并显示该文件以供下载(下载400 MB)的吗 另外,在我们将其设置为发行版后,人们可以下载应用程序的大小是90 MB还是400 MB?好的,我不确定您如何将应用程序发送到TestFlig

我们正在为iOS(unity 3d)制作一款游戏,IPA文件大小约为90MB。我们提交了它以供审查,同时我们推动了相同的构建,以测试内部测试人员的飞行。令人惊讶的是,试飞中的大小现在是400 MB(未压缩大小)

我们在以前版本的游戏中使用了试飞内部测试,但从未得到过这么大的尺寸

有人知道试飞是如何使用未压缩的文件并显示该文件以供下载(下载400 MB)的吗


另外,在我们将其设置为发行版后,人们可以下载应用程序的大小是90 MB还是400 MB?

好的,我不确定您如何将应用程序发送到TestFlight,但如果您使用的是应用程序加载程序或XCode,您可以取消选中“包含位代码”字段,我不确定它是否默认设置

这是它在XCode中的外观(导出存档时):


问题是,iTunes将为您的应用程序创建不同的二进制文件,每个二进制文件都针对不同版本的设备(如不同版本的iPad、iPhone等)进行了优化。这就是为什么您在TestFlight上的应用程序与您的ipa文件在大小上有如此巨大的差异。

检查ipa的内容。它可能在DSYM文件夹中包含调试符号。由于il2cpp输出非常大,因此符号文件也会很大。我认为它们包含在Testflight上传中,因为它们是用于QA目的的,调试符号非常有用。

了解应用商店大小的最佳方法是遵循以下分析:

TL;博士

由于二进制文件的某些部分被压缩,应用程序大小的经验公式为:

app_store_size = sizeof(.ipa/(zip with exec_binary removed)) + sizeof(codesegment(exec_binary)) + 0.2 * sizeof(datasegment(exec_binary))

此分析只查看二进制大小,因此您还需要添加任何资产的大小。

我使用App Loader将其上载到TestFlight。而且,不,我没有任何“比特码”复选框。我以前也为以前的版本应用相同的设置和方法,但它从来没有这么大。查看此文档了解更多详细信息:我不确定这如何适用于Unity上的项目,据我所知,基本上iTunes将默认设置AppTilling。这并不意味着一旦安装到设备上,应用程序的大小将达到400MB。它背后的整个想法是针对每台设备(如果它们在iOs9+上)进行优化。这里提供了有关Unity和应用细化的一些详细信息:如果其中任何一个答案对你有用,那么如果你接受了这个答案,对其他人也会有帮助。如果没有,请随意评论给出的答案,或更新您的问题。