我一直在Git历史上倒退找到文件大小变化的原因,但我能找到的唯一真正原因是从Xcode 6切换到Xcode 7 GM.
我发现这些是在Release版本配置.ipa
的Archive操作中创建的前10个文件大小贡献者:
$ unzip -lv Roger\ Release.ipa | sort -k +3nr | head
41802768 Defl:N 16887199 60% 09-14-15 23:47 dc24cdc1 Payload/Roger.app/Frameworks/libswiftCore.dylib
41802400 Defl:N 16886076 60% 09-06-15 18:33 f939ea6a SwiftSupport/iphoneos/libswiftCore.dylib
11184032 Defl:N 5915625 47% 09-14-15 23:48 6ceac4a2 Payload/Roger.app/Roger
6399584 Defl:N 2670275 58% 09-14-15 23:47 0ac52d3f Payload/Roger.app/Frameworks/libPhoneNumber_iOS.framework/libPhoneNumber_iOS
5410384 Defl:N 2334189 57% 09-14-15 23:47 7a8cb03f Payload/Roger.app/Frameworks/Alamofire.framework/Alamofire
4521904 Defl:N 2292789 49% 09-14-15 23:47 95da0882 Payload/Roger.app/Frameworks/FBSDKCoreKit.framework/FBSDKCoreKit
4731552 Defl:N 1926357 59% 09-14-15 23:48 e05337de Payload/Roger.app/Frameworks/libswiftFoundation.dylib
4731168 Defl:N …
Run Code Online (Sandbox Code Playgroud) 我发现所有Swift库(libswiftCore.dylib,libswiftCoreGraphics.dylib,...)在IPA中都存在两次.解压缩IPA后,SwiftSupport文件夹中有一个版本的库,而Payload/Frameworks中的文件也是相同的.
据我所知,当构建Swift项目时,SwiftSupport文件夹总是由Xcode生成.但是Payload/Frameworks中的Swift库来自何处以及如何摆脱它们呢?
我之前一直在使用Xcode 6来编写我的Swift应用程序.我现在已升级到Xcode 7并升级了我的Swift语法.
以前,当我对我的应用程序进行存档时,我确信在查找器中查看时它的大小只有12MB左右.现在,它更大(112MB).
我现在已经在我的构建设置中禁用了捆绑包,正如其他一些帖子所建议的那样,这使归档文件降至74.9MB.
麻烦的是上传这些大文件的大小在我的互联网连接上变得非常沉重,并且需要很长时间才能通过Apple iTunes连接进行处理.
因为我使用Xcode 7,有没有办法减少存档的大小?
我们的应用程序达到约49MB,我们不是中途.所以肯定会超过50MB的限制.我的问题如下.
1)watchOS中是否可以使用按需资源?
2)我的资源(图像,自定义字体)制作2个副本,每个是手表应用程序,其他是手表扩展.怎么解决?
3)Swift核心和其他快速框架占用大约28MB的空间.有没有办法禁用它?(PS.我们禁用了位代码)
编辑watchOS4:
以前我们的应用程序大小为44.3 MB但是当我们从xcode9大小增加到54.5时生成IPA.