iOS Libs 与 Frameworks 的理解和使用
本文将从两个角度——理论与实践,来介绍 iOS 开发中接触到的动态库、静态库、framework。理论部分会以简单的例子来建立对概念的理解;实践部分则是使用 cocoapods 的一些技巧。
名词首先我们熟悉一下以下名词概念:
代码(code):不止是指源代码(source code)形式的代码,也指代编译后产生的二进制代码。
Mach-O:操作系统能够使用的二进制文件格式,很多种类的文件都是 Mach-O 文件,包括动态库、静态库、可执行文件,都是 Mach-O 文件。本文将替换使用多种代称,比如 object file、对象文件,都是指同一个概念。
动态库、 dynamic linked library、dynamic library、shared library、embedded shared library 这些名词都是指动态库。
理解 Libs 与 FrameworksLibs(库),或是 Frameworks,无论静态还是动态,都是一种依赖管理的形式,其最终目的都是将程序依赖的代码载入到程序所在进程的地址空间中,从而让我们的程序能够使用它们。静态库、动态库只是...阅读全文