接近大小限制 – 手表应用程序的大小(50MB限制令人头疼。)
我们的应用程序达到约49MB,我们不是中途。 所以肯定会超过50MB的限制。 我的问题如下。
1)watchOS中是否可以使用按需资源?
2)我的资源(图像,自定义字体)制作2个副本,每个是观看应用程序,其他是手表扩展。 怎么解决?
3)Swift核心和其他快速框架占用大约28MB的空间。 有没有办法禁用它? (PS。我们禁用了位代码)
编辑watchOS4:
以前我们的应用程序大小为44.3 MB但是当我们从xcode9大小增加到54.5时生成IPA。
您绝对可以通过仅在手表应用程序或手表扩展程序中包含资源来节省空间,而不是两者。 对于故事板中使用的资源或在WatchKit方法中按名称引用的资源,如WKInterfaceImage
的setImageNamed(_:)
方法,您应该将它们存储在watch app本身中。 对于通过路径或使用UIImage
方法(如init?(named:)
在代码中加载的任何资源,您需要将它们放在WatchKit扩展中。
以下内容可以帮助减小尺寸:
1)尝试使用swift或objective c
2)根据要求,在手表或手表扩展中添加资产。
3)启用位代码
4)转到扩展的项目设置,并将Always Embed Swift标准库设置为No。
更新WatchOs4:
我们调查了watchos4的尺寸增加。 最后,我们发现dylib消耗内存。
libSwiftCode在watchos3中为16.1mb,现在为23.1mb
libSwiftFoundation在watchos3中为6.2mb,现在为9.2mb
注意:
从watchOS4大小增加了25MB,所以现在手表的应用程序大小限制是75MB而不是旧的50MB
要回答您的第一个问题,是按需资源是watchOS的可用选项。 看到这里和这里
此外,上面的第一个链接描述了“切片”,它允许您指定目标设备的资源,从而减少您的整体应用占用空间。
要解决第三个问题,请转到扩展程序的项目设置,并将Always Embed Swift标准库设置为“否”。
此外,从监视扩展项目中删除Newtonsoft.Json库(如果存在)