我有一个Xamarin Forms应用程序,目前在我在2016年10月构建和提交的App Store上(我假设当时最新版本的Xamarin Studio和Xamarin.iOS)。该应用程序在App Store上的大小为50 MB。
在对应用程序进行一些更新后,我现在构建它(AppStore配置,然后存档),大小为82 MB。由于这个气球的大小混淆了,我切换回了App Store中当前版本的git标签。我可以为2016年10月发布的版本构建相同的标记/版本/代码,它的App Store大小现在为80 MB。
我使用的是最新的Xamarin Studio(6.3 build 863),Xamarin.iOS(10.8.0.175)等。
为什么尺寸增长了60%?没有更改应用程序代码或库,只有更新版本的Xamarin Studio和Xamarin.iOS。我如何弄清楚这里发生了什么?我可以在我的设备上进行Add-Hoc构建,看到它只占用了大约55 MB,非常接近我从App Store看到的内容。
另外,请注意我不是在比较.ipa大小。我正在比较"估计的App Store大小"归档构建后,从Xamarin Studio中的归档屏幕显示。通过应用程序加载程序将签名的构建提交到iTunes Connect并通过iTunes Connect验证后,反映出相同的大小差异。活动>所有构建> App Store文件大小。
2017年9月5日更新
不确定发生了哪些变化,但现在使用最新版本的Xamarin iOS,版本:10.12.0.20(刚刚更新),我的应用程序大小现在已经退回到60mb范围内......没有改变任何其他内容。
答案 0 :(得分:3)
我可以在我的设备上进行Add-Hoc构建,看看它只占用了大约55 MB,
您的配置可能有一些不同的选项,例如
armv7+arm64
与armv7+armv7s+arm64
; 我如何弄清楚这里发生了什么?
比较您的构建日志,特别是为mtouch
工具提供的选项。这通常可以快速找出差异。
我正在比较"估计的App Store大小"
始终比较IPA(文件)大小。已知用于猜测最终大小的算法通常(非常)错误。估算也来自Apple的工具,因此它们会随着您使用的Xcode版本而变化(这与您去年秋天使用的版本不同)。
旁注:当bitcode启用时,最终大小甚至更难猜测(目前仅适用于tvOS和watchOS版本。)
答案 1 :(得分:0)
您是否使用相同版本的Xamarin来构建代码。我愿意打赌这就是问题所在。自上次发布应用程序以来,Xamarin构建应用程序的方式发生了变化,并且正在炸毁您的应用程序构建大小。
如果您确实拥有相同的代码,那么您是否知道当时使用的Xamarin版本?老实说,因为唯一改变的是Xamarin编译器,这绝对是问题所在。
答案 2 :(得分:0)
我的猜测是,xamarin正在包装许多不需要的东西,可能是你不再使用的旧图像或类似物。我亲身经历过。
转到项目文件夹并删除obj文件夹中的所有内容
<myproject>/iOS/obj/
通常你会看到两个文件夹:iPhone和iPhoneSimulator。
删除那些并再次构建一切,很有可能解决它
答案 3 :(得分:0)