Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/xamarin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
自上次使用相同代码构建以来,Xamarin iOS应用程序大小增加了60%_Xamarin_Xamarin.ios_Xamarin.forms - Fatal编程技术网

自上次使用相同代码构建以来,Xamarin iOS应用程序大小增加了60%

自上次使用相同代码构建以来,Xamarin iOS应用程序大小增加了60%,xamarin,xamarin.ios,xamarin.forms,Xamarin,Xamarin.ios,Xamarin.forms,我有一个Xamarin Forms应用程序,目前在我于2016年10月构建并提交的应用程序商店中(我假设当时是Xamarin Studio和Xamarin.iOS的最新版本)。应用商店中的应用大小为50 mb 在对应用程序进行了一些更新之后,我现在构建了它(AppStore配置,然后是存档),大小为82 mb。被这个气球的大小弄糊涂了,我切换回了应用商店中当前版本的git标签。我可以为2016年10月发布的版本构建相同的标签/版本/代码,其应用商店大小现在为80MB 我正在使用最新的Xamari

我有一个Xamarin Forms应用程序,目前在我于2016年10月构建并提交的应用程序商店中(我假设当时是Xamarin Studio和Xamarin.iOS的最新版本)。应用商店中的应用大小为50 mb

在对应用程序进行了一些更新之后,我现在构建了它(AppStore配置,然后是存档),大小为82 mb。被这个气球的大小弄糊涂了,我切换回了应用商店中当前版本的git标签。我可以为2016年10月发布的版本构建相同的标签/版本/代码,其应用商店大小现在为80MB

我正在使用最新的Xamarin Studio(6.3 build 863)、Xamarin.iOS(10.8.0.175)等

为什么规模增长了60%?没有更改任何应用程序代码或库,只有较新版本的Xamarin Studio和Xamarin.iOS。我怎么知道这里发生了什么?我可以在我的设备上做一个Add-Hoc构建,看到它只占用~55 mb的空间,非常接近我在应用商店中看到的空间

另外,请注意,我没有比较.ipa大小。我正在比较存档构建后Xamarin Studio中存档屏幕上显示的“估计应用商店大小”。在通过应用程序加载器向iTunes Connect提交签名的构建并通过iTunes Connect>活动>所有构建>应用商店文件大小进行验证后,同样的大小差异也会反映出来

2017年9月5日更新


不确定发生了什么变化,但现在使用最新版本的Xamarin iOS,版本:10.12.0.20(刚刚更新),我的应用程序大小现在又回到了60mb范围内。。。没有更改任何其他内容。

是否使用相同版本的Xamarin来构建代码。我敢打赌这就是问题所在。自从你上次发布Xamarin以来,它构建应用程序的方式发生了一些变化,并且正在扩大你的应用程序构建规模

如果你的代码与你之前发布的代码相同,那么你知道你当时使用的是什么版本的Xamarin吗?老实说,因为唯一改变的是Xamarin编译器,这肯定是问题所在

我可以在我的设备上进行一次添加Hoc构建,看到它只占用~55 mb

您的配置之间可能有一些不同的选项,例如

  • 托管链接器设置,例如不链接链接SDK
  • 目标体系结构,例如,
    armv7+arm64
    armv7+armv7s+arm64
我怎么知道这里发生了什么

比较构建日志,尤其是
mtouch
工具的选项。这通常会很快找出区别

我正在比较“估计的应用商店规模”

始终比较IPA(文件)大小。猜测最终尺寸的算法通常(非常)错误。这个估计也来自苹果的工具,因此它们会随着你使用的Xcode版本的不同而变化(这不太可能与你去年秋天使用的版本相同)


旁注:启用位码时(目前仅适用于tvOS和watchOS版本)的最终大小更难猜测。

我的猜测是xamarin正在打包许多不需要的东西,可能是旧图像或您不再使用的类似图像。我自己也经历过

转到项目文件夹并删除obj文件夹中的所有内容

<myproject>/iOS/obj/
/iOS/obj/
通常,您会在其中看到两个文件夹:iPhone和iPhoneSimulator


删除这些内容并重新构建所有内容,很有可能解决这个问题

提到的Xamarin和Xamarin.iOS版本在2016年10月就不可用了:Xamarin Studio(6.3构建863)、Xamarin.iOS(10.8.0.175),所以我假设没有,因为我现在正在使用最新的for today构建。但是,我如何从版本更改中找出原因呢?我必须深入了解补丁注释,看看它是否破坏了您当前使用的任何实现。我可以检查是否有任何图像资产已设置为内容而不是捆绑资源,在我的一些应用程序中,这会导致应用程序大小出现偏差。@Digitalsa1nt我刚刚验证了所有资产都是捆绑资源(两个iTunes artwork除外)。如果所有构建设置都相同,我是否应该期望安装在我的设备上的Ah Hoc构建与我从应用商店下载的一样大小?这里的
ipa
大小只有20mb左右,但我的理解是,一旦苹果签署了AppStore发行版,它就要大得多。如果你想测量一个应用程序的大小,这里有文档,需要考虑哪些文件:我不会只看.ipa文件,但不妨看看你的应用程序包,如果你想测量一个应用程序的大小,->是的,即使它经常出错。但是,问题是如何将今天的应用程序大小与几个月前完成的事情进行比较,这比IPA文件大小更好。@kspearrin忘记应用程序商店大小,使用此数据无法获得准确的比较(除非您提交新版本并下载)。应用程序被加密和压缩,但加密的数据不能很好地压缩。由于并非每个文件都需要加密,因此很难猜测最终大小(不进行完全相同的过程)。另一个有趣的发现是,在iTunes Connect>All build上查看应用程序时,将10月版本与我的最新版本进行比较,我发现10月版本压缩40mb,应用商店大小50mb,而今天版本压缩20mb,应用商店大小为80mb。狂野的。。。让我试着深入研究一下ipa的内容,看看是否有什么大的不同。虽然过去是这样,但这并不能解决我目前面临的问题。