什么是Xcode中的嵌入式二进制文件?

问题描述 投票:50回答:3

我在Swift项目中使用Alamofire,他们手动安装说明的一部分是在我的应用程序目标的常规选项卡中的嵌入式二进制文件下添加Alamofire。

什么是嵌入式二进制文件?

xcode xcode6 embed alamofire
3个回答
38
投票

嵌入式二进制文件是在构建项目时复制到应用程序包的二进制文件。当您的应用程序依赖第三方框架时,请使用嵌入式二进制文件,以便人们可以使用您的应用程序而无需在其计算机上安装这些框架。嵌入式二进制文件使用户不必手动安装第三方框架。您的应用程序使用您嵌入的框架。

在您的Alamofire示例中,您的应用程序依赖于Alamofire。如果您没有嵌入Alamofire框架,除非他们手动安装Alamofire,否则没有人能够使用您的应用程序。通过在您的应用程序中嵌入Alamofire,每个人都可以运行您的应用程序。


39
投票
  • “二进制”意味着:编译代码 - 而不是“源代码”,这是您在将代码编写为文本时使用的。 他们可以给你源代码并让你编译它,但他们没有;他们保持源代码的秘密,因此他们在编译后将它全部交给你,这样你就无法阅读它。
  • “嵌入式”表示:通过在构建时将其复制到应用程序包中,将其包含在应用程序包中。 因此,他们正在向您发送一些已编译的代码(框架),并告诉您如何将它们包含在您的应用程序包中。与Cocoa框架不同,这些框架在设备上尚不存在,因此如果您不在应用程序中包含它们,它们将不会出现,您的应用程序将无法调用它们。 将此与Cocoa的框架进行对比。它们也是编译代码。但它们确实存在于设备上。因此,它们不会嵌入您的应用内;它们仅仅是链接的(并且,如果它们出现,将出现在下一组,链接框架和库中)。

2
投票

嵌入二进制文件将整个框架复制到目标。

framework是一个分层目录,它将动态库,头文件和资源(如故事板,图像文件和本地化字符串)封装到单个包中。使用框架的应用程序需要在应用程序包中使用embed the framework

因此,当您在应用程序中嵌入框架时,它会增加应用程序的大小,因为它会复制到您的应用程序包中。在大多数情况下,当我们使用第三方框架时,我们将使用这些部分。

当我们将framework添加到Embedded Binaries时,它会自动将该框架添加到Linked Frameworks and Libraries

有关更多详细信息,请参阅Apple文档:https://developer.apple.com/library/archive/technotes/tn2435/_index.html

© www.soinside.com 2019 - 2024. All rights reserved.