我已经重新创建了一个简单的应用程序,该应用程序最初是由React Native制作的,在应用商店中的文件大小为5MB。该应用没有图片或任何特定大小的图片,但确实使用了Admob
个广告。
在将其上传到应用商店后,该构建显示为35MB ...不确定原因是什么,但是在打开构建档案的打包内容时,似乎{中有dylib
个文件创建的{1}}非常大。无论如何,这是档案中最大的文件夹。我认为这与为使用Admob而创建的SwiftSupport/iphoneos
文件夹有关。
我猜它永远不可能像React Native原始应用一样小,但是可以肯定它不应该是大小的 七 倍...有某种方法删除Pods
文件还是其他缩小方法?
编辑:同样在SwiftSupport
的构建归档文件的Runner项目文件夹中,也存在大量的Swift Frameworks
文件。这些Swift支持dylib
文件确实占据了所有空间……
只是为Android构建了该应用程序,它的容量为8.33MB,即使两个版本当然都使用Admob,也是如此。
答案 0 :(得分:0)
我有两个资料来源:第一个[1]的标题为'Flutter vs Swift',第二个[2]'如何为flutter中的现有项目启用swift支持'。阅读我们观察到的颤动和迅捷两者并不一定要共存,而观察后者,我们可以看到在创建IOS包时如何通过标志启用它。我首先要检查是否创建了IOS文件夹,而没有快速引用。
第三个链接[3]显示Admob的用法只能在飞镖中完成。
关于大小,我不确定是否使用dart并禁用Swift会100%成功。 Flutter vs Swift链接[1]有一个本机Swift应用程序,“比较”了Flutter应用程序,结论是Flutter应用程序的大小是Swift应用程序的两倍。大小分别约为20 MB和50 MB,Flutter最大。
修改
它显示Swift是您使用的插件/模块的一部分,因此不能轻易删除。关于大小,Flutter应用程序通常已经比具有Swift的应用程序大,现在该解决方案将两者结合在一起。如预期的那样,尺寸增大。
[1] https://blog.codemagic.io/flutter-vs-swift/
[2] How to enable Swift support for existing project in flutter
[3] https://flutterawesome.com/easily-implement-ads-into-a-flutter-app/
答案 1 :(得分:0)
这与Flutter无关。每个包含要支持iOS 11及更低版本的代码的iOS应用程序,都需要包含其他Flutter库。
您可以通过将“始终嵌入Swift标准库”设置为false,然后将部署目标提高到iOS 12,在Xcode中禁用此功能。