在构建阶段,将框架放在“将二进制文件与库链接”和“嵌入框架”中有什么区别?
发布于 2014-11-19 19:13:51
将二进制文件与库链接将框架和库与项目的对象文件链接以生成二进制文件。您可以根据目标的active SDK中的库或外部库链接目标的源文件。
Embed Frameworks你可以创建一个嵌入式框架来在你的应用程序扩展和它包含的应用程序之间共享代码。
-
Timeline (看看这句话)--“如果你包含的应用目标将链接到一个嵌入式框架,它必须包含arm64架构,否则它将被应用商店拒绝。”
发布于 2018-10-26 20:52:28
我一直在到处寻找一些答案,如果有人再次遇到这个问题,我想修改这个学习。
在任何情况下,如果我们想要使用任何框架资源(即API),我们都需要链接到它。在这种情况下,我们需要将其添加到通用目标设置底部的“链接框架和库”部分。
如果我们嵌入库,我们就会将该库与我们的应用程序捆绑包一起发布。这可能很方便,例如在运行macOS的机器上,他们肯定没有特定的第三方库。
那么,iOS呢?没有可能在iOS设备上安装第三方库-加上苹果对fat框架(为多个平台构建的库)非常严格。因此,无论如何都必须有一种方法来交付这些库?既然仅仅链接它们对于我们的应用程序的用户来说是不够的,我们还有什么其他的可能性呢?
这就是一个特殊的构建阶段发挥作用的地方。在项目设置中的构建阶段下,有链接二进制文件和库部分。此步骤从fat框架中剥离了不必要的部分,并将必要的部分保留在捆绑包中,以便它能够在与应用程序依赖项无关的设备上运行。
发布于 2019-08-15 03:09:16
对于应用程序目标
Xcode 11
Static LibraryStatic Framework - Do Not EmbedDynamic Framework - EmbedPre Xcode 11
Static Library - LinkStatic Framework - LinkDynamic Framework - Embedhttps://stackoverflow.com/questions/27015154
复制相似问题