IPA中包含了重复的Swift库

16

我发现所有Swift库(libswiftCore.dylib、libswiftCoreGraphics.dylib等)在IPA文件中存在两次。解压IPA后,这些库的一个版本存在于SwiftSupport文件夹中,而相同的文件再次存在于Payload/Frameworks文件夹中。

据我所知,当使用Xcode构建Swift项目时,SwiftSupport文件夹总是会被生成。但是,Payload/Frameworks文件夹中的Swift库是从哪里来的?如何摆脱它们?


1
如果您发现了任何信息,保持更新会很好。 - chris13
1
这里可以找到一些提示(在Objective-C中使用Swift嵌入内容):https://developer.apple.com/library/ios/qa/qa1881/_index.html - Artur Kucaj
我也遇到了这个问题,有更新吗? - Bruce
你是如何生成IPA文件的? - Sohil R. Memon
@Bruce:抱歉,没有新消息。 - Apfelsaft
@SohilR.Memon:从XCode导出 - Apfelsaft
3个回答

4
我认为如果你的代码已经使用了Swift,你需要在构建选项中将标志“嵌入式内容包含Swift代码”设置为“否”,否则Xcode会添加库,因为它认为你使用了一些具有Swift代码的框架。

3

我遇到了同样的问题。我看到一些答案建议这不是什么大问题,我必须说看起来确实如此。

我的应用包含3个目标 - 主应用程序和2个今日扩展。当我创建一个存档文件时,它的大小是惊人的126 MB。其中大部分是Swift支持库,在我的情况下约为45 MB,并且它们被包含了两次。

然而,当我通过TestFlight检查二进制文件大小时,它只有23.6 MB。现在,考虑到Swift库必须被包含进去,这仍然是很多的,因为我的应用程序只是一个简单的工具。

但是,如果考虑到Swift库必须被包含进去,那么这并不算太多了。到目前为止,我认为即使这些库在IPA中被包含了两次,它们在实际的二进制文件中也没有被包含两次。

显然,这并不能回答原始问题,我也迫切地等待着有人提出确切的解决方案,但这可能会有所帮助。


我也遇到了同样的问题,Swift库被包含了两次。但是不知道如何解决它。如果你有任何解决方案,请帮助我。谢谢。 - technerd

3

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接