Xcode中的嵌入式二进制文件是什么?
我正在一个Swift项目中使用,他们的部分手动安装说明是在我的应用程序目标的“常规”选项卡的“嵌入式二进制文件”下添加Alamofire 什么是嵌入式二进制文件?Xcode中的嵌入式二进制文件是什么?,xcode,xcode6,embed,alamofire,Xcode,Xcode6,Embed,Alamofire,我正在一个Swift项目中使用,他们的部分手动安装说明是在我的应用程序目标的“常规”选项卡的“嵌入式二进制文件”下添加Alamofire 什么是嵌入式二进制文件? “二进制”的意思是:编译后的代码-与“源代码”相反,源代码是您以文本形式编写代码时使用的代码 他们本可以给你源代码,让你编译,但他们没有;他们对源代码保密,所以他们在编译后把它们都给了你,这样你就看不懂了 “嵌入式”是指:通过在构建时将其复制到应用程序包中,将其包含在应用程序包中 因此,他们会给你一些编译后的代码(框架),并告诉你如
- “二进制”的意思是:编译后的代码-与“源代码”相反,源代码是您以文本形式编写代码时使用的代码 他们本可以给你源代码,让你编译,但他们没有;他们对源代码保密,所以他们在编译后把它们都给了你,这样你就看不懂了
- “嵌入式”是指:通过在构建时将其复制到应用程序包中,将其包含在应用程序包中 因此,他们会给你一些编译后的代码(框架),并告诉你如何将它们包含在你的应用包中。与Cocoa的框架不同,这些框架在设备上并不存在,因此如果你不将它们包含在应用程序中,它们将不存在,你的应用程序将无法调用它们 这与Cocoa的框架形成对比。它们也是编译代码。但它们确实已经存在于设备上。因此,它们不会嵌入到你的应用程序中;它们只是链接的(如果它们出现,将出现在下一组链接框架和库中)
framework
是一个分层目录,它封装了动态
库、头文件和资源,例如故事板、图像
将文件和本地化字符串合并到单个包中。应用程序使用
框架需要将框架嵌入应用程序包中
因此,当你在应用程序中嵌入框架时,它会增加应用程序的大小,因为它会复制到你的应用程序包中。在大多数场景中,当我们使用第三方框架时,我们将使用本节
当我们将框架
添加到嵌入式二进制文件
时,它也会自动将该框架添加到链接的框架和库
有关更多详细信息,请参阅苹果文档:它们被称为嵌入式“二进制文件”,而不是嵌入式“框架”,这一事实让我觉得它们的用途要比框架更广泛。你知道它们除了用于框架之外还有什么用途吗?另外,你对这方面的文档有什么看法吗?我找不到任何文件。在更一般的情况下,您也可以嵌入库文件。我记得过去在OS X上这样做的方式是最近在iOS上使用另一个第三方框架构建框架,然后创建一个复制文件构建阶段,将框架复制到“框架”目标下。这应该是一个替代品吗?它看起来确实比我以前的方式简单。是的,它应该是复制二进制文件(如框架、库和命令行工具)的复制文件构建阶段的替代品。你看过关于这个Xcode功能的文档吗?我没有找到任何。我没有看到任何关于它的文档,但我没有努力寻找关于它的文档。我在XCode 8中发现了另一件奇怪的事情。“常规->嵌入二进制文件”和“构建阶段->嵌入框架”似乎是链接在一起的,因为如果将.framework拖到其中一个位置,它也会自动出现在另一个位置;在“嵌入框架”中,它会自动启用“代码登录副本”(签名对于构建应用程序档案以供分发非常重要)。