首先要说的.a 和.framework 都是库文件。
什么是库?
库是共享的代码。一般分为静态库和动态库。
静态库和动态库区别?
静态库:链接器链接的时候会完整拷贝到可执行文件中,如果被多次使用,就会多次被拷贝。那么会造成冗余。
动态库:链接是不会复制,程序运行时由系统加载到内存,供程序使用。它只会加载一次,多个程序共用,节省资源。
ios的静态库是:.a和.framework
ios的动态库:.dylib和.framework
.framework为什么是静态库又是动态库呢?
因为系统的.framework是动态库,而我们自己建立的.framework是静态库。
.a和.framework区别
.a 是一个二进制文件。在使用的时候需要配合.h文件才能使用
.framework 是二进制文件 还有资源文件 .h文件的组合。
所以我们一般都会使用.framework。