接近大小限制 - 手表应用程序的大小(50MB限制令人头疼。)

时间:2017-04-07 12:28:28

标签: ios iphone watchkit apple-watch

我们的应用程序达到约49MB,我们不是中途。所以肯定会超过50MB的限制。我的问题很少如下。

1)watchOS中是否可以使用按需资源?

2)我的资源(图片,自定义字体)制作2个副本,每个是手表应用程序,其他是手表扩展。怎么解决?

3)Swift核心和其他快速框架占用大约28MB的空间。有没有办法禁用它? (PS。我们禁用了位代码)

编辑watchOS4:

之前我们的应用程序大小为44.3 MB但是当我们从xcode9大小增加到54.5时生成IPA。

3 个答案:

答案 0 :(得分:2)

以下内容有助于缩小尺寸:

1)尝试使用swift或objective c

2)根据要求,在手表或手表扩展中添加资产。

3)启用位代码

4)转到扩展程序的项目设置,并将始终嵌入Swift标准库设置为

更新WatchOs4:

我们调查了watchos4的尺寸增加。最后,我们发现dylib消耗内存。

  

libSwiftCode在watchos3中为16.1mb现在它的23.1mb

     

libSwiftFoundation在watchos3中是6.2mb现在它是9.2mb

<强> 注意:

从watchOS4尺寸增加了25MB,所以现在手表应用尺寸限制是75MB而不是旧版50MB

答案 1 :(得分:1)

您只需在手表应用或手表扩展程序中包含资源,就可以节省空间,而不是两者。对于故事板中使用的资源或在WatchKit方法中按名称引用的资源,例如getDefaultProps()的{​​{1}}方法,您应该将它们存储在监视应用程序本身中。对于按路径或WKInterfaceImage方法加载的任何资源,您需要将它们放在WatchKit扩展程序中。

答案 2 :(得分:0)

要回答您的第一个问题,是按需资源是watchOS的可用选项。请参阅herehere

此外,上面的第一个链接描述了&#39;切片&#39;它允许您指定目标设备的资源,从而减少您的整体应用程序占用空间。

要解决您的第三个问题,请转到扩展程序的项目设置,并将Always Embed Swift标准库设置为“No&#39;。

此外,从监视扩展项目中删除Newtonsoft.Json库(如果存在)