为什么框架在Xcode中链接为二进制文件?

时间:2015-01-29 17:53:05

标签: xcode build frameworks binary static-libraries

您调用库代码,而框架代码调用您的代码。

我一直在做一些需要添加外部框架和库的xcode项目。

在这些安装过程中始终存在一个常见现象,他们总是要求我进入Build Phases选项卡并“将二进制文件与库链接”

enter image description here

我的问题是为什么框架和库都以这种方式链接?我(想)我理解图书馆的原因。对于图书馆而言,他们无法自行执行,因此您需要对其进行预编译并使其功能可用于您的课程。

对于框架,我不太清楚这里发生了什么。如果框架调用我的代码,为什么这是预编译为二进制文件?如果它在运行时执行我的代码应该只是与构建一起编译吗?

1 个答案:

答案 0 :(得分:0)

框架是一种将静态/动态库及其标题(.h)捆绑在一起的方法。还有一个“版本化”的概念,但它们不再使用了。

如果您查看一个Framework(它只是一个目录),您将看到该库(没有.a和“lib”前缀,标题和.plist。