答案 0 :(得分:39)
“Binary”表示:已编译的代码 - 与“源代码”相反,这是您在将代码编写为文本时所使用的。
他们可以给你源代码并让你编译它,但他们没有;他们保密源代码,所以他们在编译后将它全部交给你,这样你就无法阅读它。
“嵌入式”表示:包含在您的应用包中,在构建时将其复制到其中。
因此,他们正在向您发送一些已编译的代码(框架)并告诉您如何将它们包含在您的应用程序包中。与Cocoa的框架不同,这些框架在设备上尚不存在,因此如果您不在应用程序中包含它们,它们将不会出现,您的应用程序将无法调用它们。
将此与Cocoa的框架进行对比。它们也是编译代码。但他们做已经存在于设备上。因此,它们不会嵌入您的应用内;它们只是链接(如果它们出现,将出现在下一组,链接框架和库中)。
答案 1 :(得分:39)
嵌入式二进制文件是在构建项目时复制到应用程序包的二进制文件。当您的应用程序依赖第三方框架时,请使用嵌入式二进制文件,以便人们可以使用您的应用程序而无需在其计算机上安装这些框架。嵌入式二进制文件使用户不必手动安装第三方框架。您的应用程序使用您嵌入的框架。
在您的Alamofire示例中,您的应用程序依赖于Alamofire。如果您没有嵌入Alamofire框架,除非他们手动安装Alamofire,否则没有人能够使用您的应用程序。通过在您的应用程序中嵌入Alamofire,每个人都可以运行您的应用程序。
答案 2 :(得分:2)
framework
是封装动态目录的分层目录 库,头文件和资源,例如情节提要,图像 文件和本地化的字符串合并到一个包中。应用使用 框架需要在应用程序的捆绑包中embed the framework
。
因此,当您在应用程序中嵌入框架时,它会增加应用程序的大小,因为它已复制到您的应用程序包中。在大多数情况下,当我们使用第三方框架时,我们将使用此部分。
当我们向framework
添加Embedded Binaries
时,它也会自动将该框架也添加到Linked Frameworks and Libraries
。
有关更多详细信息,请参阅Apple文档:https://developer.apple.com/library/archive/technotes/tn2435/_index.html