添加到 Xcode 项目的框架或库的实现在哪里?

Ne *_* AS 3 frameworks objective-c cocoapods

当我使用 Cocoapods 或手动向项目添加框架时,它们仅包含头文件。在 Xcode 中,使用“跳转到定义”没有定义(这意味着没有 .m 文件)。

当调用库中的函数时,如果.m文件不在项目中,编译器如何获取其实现?

Mat*_*ues 5

简而言之,构建可执行文件通常至少要经历以下两个阶段:

  • 编译,将源代码转换为二进制代码;
  • 链接,它将二进制代码块“粘合”到可执行文件中。

框架可能包括已编译的二进制形式的实现。然后将它们与您编译的源链接起来。编译器不会以任何方式接触它们,只需要.h描述它们的文件。链接器的工作是将它们与您的代码缝合在一起。

如果您想了解有关该主题的更多信息,以下问题的答案包含更详细的信息: