.a、.framework库制作之一(概览)

日常开发中,别人的三方库你肯定接触不少,用的也不少。

来,说几个听听:AFNetworking,Masonry,MJRefresh、FMDB。。。 

此处省略一万字。。。

如果这些你都没用过,那么你一定走的不是寻常路。我只想说:大神,带带我!


gaga

好了,不瞎BB了,要不然要被大家扔鞋子!

首先,我们还是来补充一下关于库的知识?

库是神马?库是一种代码共享的方式。主要用于代码重用和源码隐藏,一般分为静态库和动态库

静态库:链接时完整的拷贝到可执行文件中,多次使用就有多次冗余拷贝。

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

说了一坨,库究竟长啥样的呢?往下看!

.a、.framework、.dylib、.tbd,.bundle,它们就是库,就长这个样子的!


库的全家福

不过,现在是xcode8的时代,我们已经见不到.dylib了,取而代之的是.tbd

.tbd是个什么东东呢?稍后它们一一自我介绍你就知道了!现在,站队!

站队啦!站队啦!

1 静态库队:.a、.framework

2 动态库队:.framework、.dylib、.tbd

.bundle,发什么呆,你咋不站队呢?

.bundle:好殇心,我既不是静态库,也不是动态库,只是一个资源文件!

好,别殇心了,你先自由活动。。。 .bundle默默离了队。。。

.framework,是不是找事?怎么站到两个队里去啦?

.framework:报告队长,不是我的错啊!我有时是静态库,有时是动态库,这得看我后台是谁了。大boss(苹果iOS系统)名下的就是动态库,而那些小屌丝程序员制作的.framework就是静态库啦。。。

好,你归队吧!.dylib、.tbd你俩也出来自我介绍介绍吧。

.dylib抢先一步。。。。

.dylib:报告,我是动态库。不过我活跃在xcode7之前,现在我转入幕后工作了。不过可以通过以下步骤找到我哟:

1)点击Link Binary With Libraries下方的“+”号,然后选择”Add Other…”

2)按下command+shift+g"

3)输入”/usr/lib”

然后你就能找到啦,想我的话可以经常去看看我噢!我就一直在那儿继续为您服务。报告完毕!

.tbd:报告,我也是动态库,我是跟xcode7一块诞生的。这里apple forfum有提到我的:

For those who are curious, the .tbd files are new "text-based stub libraries", that provide a much more compact version of the stub libraries for use in the SDK, and help to significantly reduce its download size.

也就是说我.tbd是新的“基于文本的存根库”,size更小。我可是一个新星,我都成了stackOverflow上面人们讨论的话题啦!地址在下面:

http://stackoverflow.com/questions/31450690/why-xcode-7-shows-tbd-instead-of-dylib

.a,出列,你来介绍介绍自己吧。

.a:大家好!我是一个纯二进制文件,.h是我的忠实搭档,没有.h,我是满肚子的学问,倒不出来 。有时候,我还会找来我的好哥们.bundle,让它帮我存点图片、xib文件啥的,用的时候就直接管它要了,我哥们.bundle可好了!说完,.a默默转身归队去了。

看看,.a多谦和,你们都要像它学习!

好吧,你们都自由活动吧!

.bundle呢?小样,看到你了。刚才还殇心的不得了,这会都撩妹了!过来,该你表演了!

.bundle兴冲冲的跑了过来。。。 (估计撩妹撩high了)

大家好,我是.bundle,我是一个资源文件,或者是目录文件,什么.plist、.image、.xib、.txt、.db等,都能往我这里放,只要主人(应用程序)需要,随时从我这里把它们取走,俺从来都是任劳任怨,车前马后,听主人调遣!over ! 队长,还有事没,没事我就忙去了。。。

嗯,没事了,去吧,小样。。。。

.bundle:谢队长 !

这小样又兴冲冲的一溜烟跑了。。。 又奔妹子去了。。。

最后,我来总结几句:

库是一种代码共享的方式,有静态库和动态库之分!静态库是哪里用到,就拷贝一份到哪里去,每次都得拷,麻烦不说,还占地方。动态库就比较好了,加载一次,谁用谁来取,方便,占地少。在开发过程中,我们经常碰到的静态库就是.a、.framework,动态库有系统的.framework、.dylib(xcode7之前)、.tbd(xcode7及以后)。.bundle呢,就是一个资源包,用来放图片等资源文件的。

别人的库用着很爽吧?在写代码的时候省不少事吧?那你有没有想过自己也搞个库啥的,为程序员的哥哥姐姐弟弟妹妹们谋点福利呢?


在随后的文章里,我们就来逐一探讨这些库是怎么制作的。。。。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 199,711评论 5 468
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 83,932评论 2 376
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 146,770评论 0 330
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 53,799评论 1 271
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 62,697评论 5 359
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,069评论 1 276
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,535评论 3 390
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,200评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,353评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,290评论 2 317
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,331评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,020评论 3 315
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,610评论 3 303
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,694评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,927评论 1 255
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,330评论 2 346
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 41,904评论 2 341

推荐阅读更多精彩内容