- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在我的一个项目中使用了 Swift,最后是时候将其上传到应用商店了。应用程序的大小是一个问题,因为下载更大尺寸的应用程序不是用户的选择。该应用程序的应用程序商店大小为 40MB。一直没问题,直到安卓版上传了,6MB。我已经在iOS应用程序中使用了应用程序瘦身,但它仍然很大。我检查了 ipa 的(89MB)内容,发现 ipa 文件中包含 swift 库。我在网上搜索:Swift libraries included twice in IPA
然后互联网让我相信 ipa 的大小(89MB)与实际大小(40MB)不同,这是正确的。我可以看到 ipa 大小和应用商店下载大小的差异。
但是 Android 版本(大小为 6MB)让我很兴奋。
那么到底出了什么问题呢?如果我使用 Objective-C
,应用程序商店的大小会有所不同吗?
最佳答案
这是来自 WWDC 2018
And we also have another release coming up for you in the language, Swift 5.The focus of Swift 5 is greater adoption by delivering Swift as part of the OS.Apps will no longer need to include the Swift runtime when delivering on our newer OS releases, resulting in smaller downloads and faster launches.We're very excited about this, too, and we have made great progress toward this goal. And you'll see it in a release coming early next year.
今天我使用 xcode 9 创建了商店版本,发现 swift ipa 大小从 59MB 增加到 105MB,但上传到 iTunes connect 后下载大小约为 2.5MB,这很酷!因此,与 objc 应用程序相比,swift 应用程序的大小开销要少得多。
今天,我检查了同一应用程序的 iTunes 连接,发现新的下载大小选项卡,与上次实验相比,它显示的下载大小较小。
<小时/>我使用 iPhone 的核心数据创建了两个单 View 应用程序。一个在 Swift 中,另一个在 Objective-C 中。两者都有默认的项目模板,没有编写任何额外的代码。我在这两个项目中添加了相同的应用程序图标。
然后从这两个项目创建 ipa 并作为版本 1 和 2 上传到 iTunesconnect
然后我使用命令unzip -lv
检查了这两个ipa文件,发现Swift版本的ipa中多了三个文件夹
当我仅压缩这三个文件夹(Frameworks+SwiftSupport+ Symbols)时,压缩后的大小为 59.5 MB。而 ipa 的总大小为 59.6MB。很明显,Swift 库正在增加应用程序的大小。
<小时/>unzip -lv SizeSwiftTest.ipa
Length Method Size Cmpr Date Time CRC-32 Name
-------- ------ ------- ---- ---------- ----- -------- ----
46125024 Defl:N 18988843 59% 01-28-2017 10:02 14b9d63c Payload/SizeSwiftTest.app/Frameworks/libswiftCore.dylib
743568 Defl:N 216552 71% 01-28-2017 10:02 79b72c24 Payload/SizeSwiftTest.app/Frameworks/libswiftCoreData.dylib
1137184 Defl:N 383891 66% 01-28-2017 10:03 86bd6df6 Payload/SizeSwiftTest.app/Frameworks/libswiftCoreGraphics.dylib
257616 Defl:N 24550 91% 01-28-2017 10:03 a6da0939 Payload/SizeSwiftTest.app/Frameworks/libswiftCoreImage.dylib
543696 Defl:N 176102 68% 01-28-2017 10:03 94937782 Payload/SizeSwiftTest.app/Frameworks/libswiftDarwin.dylib
2562272 Defl:N 954097 63% 01-28-2017 10:04 55a778fc Payload/SizeSwiftTest.app/Frameworks/libswiftDispatch.dylib
17463360 Defl:N 7412237 58% 01-28-2017 10:04 6f6526c0 Payload/SizeSwiftTest.app/Frameworks/libswiftFoundation.dylib
506192 Defl:N 165186 67% 01-28-2017 10:04 ad88cf40 Payload/SizeSwiftTest.app/Frameworks/libswiftObjectiveC.dylib
311520 Defl:N 60300 81% 01-28-2017 10:05 85363d5d Payload/SizeSwiftTest.app/Frameworks/libswiftQuartzCore.dylib
699712 Defl:N 273308 61% 01-28-2017 10:05 c7d7022a Payload/SizeSwiftTest.app/Frameworks/libswiftUIKit.dylib
45775648 Defl:N 18627456 59% 12-07-2016 05:23 81fe5af9 SwiftSupport/iphoneos/libswiftCore.dylib
741104 Defl:N 209836 72% 12-07-2016 05:23 4acecaad SwiftSupport/iphoneos/libswiftCoreData.dylib
1133696 Defl:N 374501 67% 12-07-2016 05:23 8b024942 SwiftSupport/iphoneos/libswiftCoreGraphics.dylib
256368 Defl:N 22243 91% 12-07-2016 05:23 325cc5a7 SwiftSupport/iphoneos/libswiftCoreImage.dylib
541792 Defl:N 170804 69% 12-07-2016 05:23 f41ed047 SwiftSupport/iphoneos/libswiftDarwin.dylib
2522368 Defl:N 932905 63% 12-07-2016 05:22 09cecc4f SwiftSupport/iphoneos/libswiftDispatch.dylib
17318784 Defl:N 7278280 58% 12-07-2016 05:22 4af20463 SwiftSupport/iphoneos/libswiftFoundation.dylib
504304 Defl:N 160214 68% 12-07-2016 05:22 1093b583 SwiftSupport/iphoneos/libswiftObjectiveC.dylib
310112 Defl:N 57522 82% 12-07-2016 05:23 a613dad2 SwiftSupport/iphoneos/libswiftQuartzCore.dylib
697344 Defl:N 266430 62% 12-07-2016 05:23 d6bf939b SwiftSupport/iphoneos/libswiftUIKit.dylib
22576 Defl:N 6387 72% 01-28-2017 10:01 b3c45d81 Symbols/1BFFD5D6-0677-33B3-BAEC-046295DEA090.symbols
29064 Defl:N 8112 72% 01-28-2017 10:01 d6c556b3 Symbols/2582C775-1993-3EB6-8824-D3F9A75ADE6D.symbols
3613720 Defl:N 559651 85% 01-28-2017 10:01 34544697 Symbols/26F02EDA-79FE-32B9-BD99-BD076B4736DD.symbols
1304 Defl:N 580 56% 01-28-2017 10:01 31754a59 Symbols/2A066874-F58A-32D0-A75A-5427D6909F92.symbols
49808 Defl:N 9569 81% 01-28-2017 10:01 e3f914e6 Symbols/495698EB-ADEA-3C6E-873B-E9F330C364B1.symbols
1360 Defl:N 576 58% 01-28-2017 10:01 b457ae89 Symbols/4F5C1D31-2B0B-3D45-8307-FF3B01D6678F.symbols
22488 Defl:N 6471 71% 01-28-2017 10:01 96e50d34 Symbols/57A3E752-CD40-3D39-A10D-0F2156141CFA.symbols
22488 Defl:N 6476 71% 01-28-2017 10:01 95497af9 Symbols/5A33D6B3-ED31-3EFF-B518-B0F6B1AB518F.symbols
40600 Defl:N 9804 76% 01-28-2017 10:01 3fa40def Symbols/5DD3704E-7D46-338B-AA57-875F447D0FDD.symbols
95120 Defl:N 20420 79% 01-28-2017 10:01 613db8b1 Symbols/66FB5EA4-9401-31BF-917F-ACDB029A1096.symbols
29064 Defl:N 8109 72% 01-28-2017 10:01 1b159c06 Symbols/6D71045D-16DE-3FEE-9F5C-A3EABD040E64.symbols
7472 Defl:N 2304 69% 01-28-2017 10:01 374bc5dc Symbols/6F1E015A-1EA3-3971-8A6F-88759034B452.symbols
28448 Defl:N 7894 72% 01-28-2017 10:01 a515fee5 Symbols/7613BAC0-954C-3275-BBD6-A8F94CA88169.symbols
95032 Defl:N 20242 79% 01-28-2017 10:01 c928db8e Symbols/76EF8DA9-D2AE-340C-8557-18D201C56FC0.symbols
3625704 Defl:N 564948 84% 01-28-2017 10:01 00d5d560 Symbols/7907E56A-C876-3ADB-8063-60A0C3534C80.symbols
40656 Defl:N 9702 76% 01-28-2017 10:01 d4193ca3 Symbols/7C39C85D-94F2-34D8-BAD4-9FAA7FBA7A8A.symbols
3626128 Defl:N 564909 84% 01-28-2017 10:01 dc118cdf Symbols/7E3DC2DA-66CA-3D75-930C-586D382ED244.symbols
40528 Defl:N 9797 76% 01-28-2017 10:01 e3f2fc23 Symbols/8E44CE26-99D8-327D-9265-1832F45435E5.symbols
1304 Defl:N 580 56% 01-28-2017 10:01 bd45ff3f Symbols/9D3B475B-430C-3E1A-8564-90709511BAA4.symbols
1253768 Defl:N 223986 82% 01-28-2017 10:01 d9b84785 Symbols/9DB043C4-9AE4-3C6D-9C0B-3F4122CCB651.symbols
49920 Defl:N 9508 81% 01-28-2017 10:01 48d5b4c2 Symbols/9E5276F6-A162-3960-B721-2AEA6034A9D4.symbols
7240 Defl:N 2311 68% 01-28-2017 10:01 3a7eb2d0 Symbols/A654D23D-3717-33EA-BFB4-B77C0BB3E29D.symbols
7240 Defl:N 2306 68% 01-28-2017 10:01 cf9bc3af Symbols/A9A21BC8-84F5-3F38-B617-05DB8ABA3F14.symbols
264072 Defl:N 48696 82% 01-28-2017 10:01 4423f05b Symbols/AAEE95F5-56B7-3601-A0E5-C31446494F6A.symbols
261616 Defl:N 47707 82% 01-28-2017 10:01 b4ea0b2d Symbols/AC9C450C-CC64-357D-8F60-F072AE05FA66.symbols
264224 Defl:N 48725 82% 01-28-2017 10:01 2bfd857d Symbols/C69555CE-9775-3AEA-9C03-65661C772503.symbols
1262592 Defl:N 226212 82% 01-28-2017 10:01 39303f9c Symbols/D4705FA7-7406-3585-84C7-E914BFAB468F.symbols
1262808 Defl:N 226261 82% 01-28-2017 10:01 83cf2100 Symbols/E6C789A6-E22E-3349-8319-6EACF1400E2E.symbols
49952 Defl:N 9610 81% 01-28-2017 10:01 c142402b Symbols/E92BBA7C-157A-3649-8FE6-CD429381BB72.symbols
95184 Defl:N 20425 79% 01-28-2017 10:01 f91d04e0 Symbols/F78C47B6-F71D-3606-8235-BF2BDA33DDCC.symbols
关于ios - 与 Objective-C 应用程序相比,捆绑的 Swift 库的文件大小开销是多少?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57192604/
Java 库和 android 库有什么区别,各自有什么优点/缺点? 最佳答案 您可以在 Android 应用程序中包含标准 Java .jar 文件库。它们在 .apk 构建时被翻译成 Dalvik
所以,我现在的代码就像从 Java 层加载库(比如 liba.so),并在内部 liba.so 加载 libb.so。因此,如果我必须将所有库打包到 APK 中并将其安装在没有 root 访问权限的设
我想在我的系统中设置 LEDA 库。 我已经从以下链接下载了 LEDA 库 http://www.algorithmic-solutions.info/free/d5.php Instruct
我想用 autoconf 创建一个共享库。但是,我希望共享库具有“.so”扩展名,而不是以“lib”开头。基本上,我想制作一个加载 dlopen 的插件。 .是否有捷径可寻? 当我尝试使用 autoc
我需要在 Apps 脚本应用程序上修改 PDF。为此,我想使用 JS 库:PDF-LIB 我的代码: eval(UrlFetchApp.fetch("https://unpkg.com/pdf-lib
我正在构建一个使用以下 Boost header 的程序(我使用的是 Microsoft Visual C++ 10), #include #include #include #include
当我通过 cygwin 在 hadoop 上运行此命令时: $bin/hadoop jar hadoop-examples-*.jar grep input output 'dfs[a-z.]+' 我
我已经通过 vcpgk 成功安装了一个 C++ 库,名为:lmdb:x64-windows 我还安装了lmdb通过 Cabal 安装的 Haskell 绑定(bind)包 在尝试测试 lmdb 包时:
我该如何解决这个问题? 我刚刚将 javacv jar 文件复制到我的项目 Lib 文件夹下,但出现了这个错误! 我可以找到这个thread来自谷歌,但不幸的是,由于我国的谷歌限制政策,该页面无法打开
我有一个 Android 库项目 FooLib。 FooLib 引用 Android Context 之类的东西,但不需要任何资源文件(res/ 中的东西)所以我目前将其打包为供我的应用使用的 JAR
我正在开发一个 Android 应用程序(使用 Android Studio),它能够通过手势识别算法了解您正在进行的 Activity 。对于我使用 nickgillian ithub 帐户上可用的
关于从 .NET Framework 项目中引用 .NET Standard 类库的问题有很多类似的问题,其中 netstandard 库中的 NuGet 包依赖项不会流向 netframework
我已经从互联网上下载了 jna-4.2.2.jar,现在想将这个 jar 导入到我的项目中。但是当我试图将这个 jar 导入我的项目时,出现以下错误。 [2016-06-20 09:35:01 - F
我正在尝试通过编译在 Mac 上安装 rsync 3.2.3。但是,我想安装所有功能。为此,它需要一些库,此处 ( https://download.samba.org/pub/rsync/INSTA
进入 Web 开发有点困难。过去 5 年我一直致力于 winforms 工作。所以我正在努力从一种切换到另一种。前段时间,我使用过 JavaScript,但现在还没有大量的 JavaScript 库
很难说出这里要问什么。这个问题模棱两可、含糊不清、不完整、过于宽泛或夸夸其谈,无法以目前的形式得到合理的回答。如需帮助澄清此问题以便重新打开,visit the help center . 关闭 1
我正在寻找一个用Python编写的与logstash(ruby + java)类似的工具/库。 我的目标是: 从 syslog 中解析所有系统日志 解析应用程序特定日志(apache、django、m
就目前情况而言,这个问题不太适合我们的问答形式。我们希望答案得到事实、引用资料或专业知识的支持,但这个问题可能会引发辩论、争论、民意调查或扩展讨论。如果您觉得这个问题可以改进并可能重新开放,visit
我花了几天时间试图寻找用于 JavaPOS 实现的 .jar 库,但我找不到任何可以工作的东西。我找到了很多像这样的文档:http://jpos.1045706.n5.nabble.com/file/
这个问题在这里已经有了答案: Merge multiple .so shared libraries (2 个答案) 关闭 9 年前。 我有我在代码中使用的第三方库的源代码和对象。该库附带有关如何使
我是一名优秀的程序员,十分优秀!