我发现所有Swift库(libswiftCore.dylib,libswiftCoreGraphics.dylib,...)在IPA中都存在两次。解压缩IPA后,SwiftSupport文件夹中有一个版本的库,而Payload / Frameworks中的文件也是相同的。
据我所知,当构建Swift项目时,SwiftSupport文件夹总是由Xcode生成。但是Payload / Frameworks中的Swift库来自何处以及如何摆脱它们?
答案 0 :(得分:2)
我认为如果你的代码已经使用了Swift,你就没有设置Flag"嵌入内容包含Swift代码"在Build Options to NO中,否则Xcode会添加库,因为它认为你使用了一些具有swift代码的框架
答案 1 :(得分:2)
我遇到了同样的问题。我已经阅读了一些答案,这些答案表明这不是什么大问题,我不得不说它看起来不是。
我的应用包含3个目标 - 主应用和2个今天的扩展。当我创建一个存档时,它的大小是126 MB。其中大多数是Swift支持库,在我的情况下大约45 MB,它们包括两次。
但是,当我通过测试飞行检查二进制大小时,它是23.6 MB。现在,考虑到我的应用程序是一个简单的实用程序,这仍然很多。
但是,如果考虑到必须包含Swift库,那就不算太多了。到目前为止,我会说,即使这些库在IPA中包含两次,它们也不会在实际二进制文件中包含两次。
这显然没有回答原来的问题,我也急切地等待有人提出确切的解决方案,但这可能会有所帮助。
答案 2 :(得分:2)
我发现使用'嵌入内容包含Swift'值可以获得一些好的结果,而且对于我的Apple Watch扩展程序通过验证实际上至关重要。
I have written an answer about the details for the Apple Watch fix here