iOS开发-.a与.framework区别?

基于业务实现iOS程序的模块化。可以把固定的业务模块化成静态库。或者别人分享你的代码库,但不想让别人看到你代码的实现。尤其是开发第三方sdk的需要。所以我们需要静态库

一、iOS里静态库形式是:.a和.framework

二、iOS里动态库形式:.dylib和.framework

那么framework为什么又是静态库也是动态库:

因为系统的.framework是动态库,我们自己建立的.framework是静态库。


静态库与动态库的区别在于:

一、静态库:链接时完整地拷贝至可执行文件中,被多次使用就有多份冗余拷贝。

二、动态库:链接时不复制,程序运行时由系统动态加载到内存,供程序调用,系统只加载一次,多个程序共用,节省内存。


.a与.framework区别:

一、 .a是纯二进制文件  .framework中除了有二进制文件之外还有资源文件

二、.a文件不能直接使用,至少还有.h文件配合,.framework文件可以直接使用,因为本身包含了h文件和其他文件

三、 .a +.h +source =  .framework  建议使用framework


Xcode7制作.a静态库

http://www.cocoachina.com/ios/20160720/17095.html

Xcode7制作.framework静态库

http://blog.csdn.net/ma762614600/article/details/50057651

推荐阅读更多精彩内容

  • 静态库与动态库的区别 首先来看什么是库,库(Library)说白了就是一段编译好的二进制代码,加上头文件就可以供别...
    吃瓜群众呀阅读 4,924评论 3 32
  • (原文:How to Create a Framework for iOS 作者:Sam Davies 译者:Mr...
    花无缺_阅读 3,207评论 3 20
  • 仅以方便自己查阅记录前言1.静态库和动态库有什么异同?静态库:链接时完整地拷贝至可执行文件中,被多次使用就有多份冗...
    190CM阅读 1,225评论 0 3
  • (原文:How to Create a Framework for iOS作者:Sam Davies 译者:Mr_...
    Yaanco阅读 1,352评论 4 4
  • 希望生活中有些事情就像while循环一样,愿它的循环条件是1,然而现实却不是这样,往往只能随缘。 ...
    刘博zero阅读 21评论 0 0