iOS 浅谈静态库和动态库

说教无益,折断的骨头是最好的课本。

Framework

前言

我们公司是做蓝牙硬件的产品的,最近有一家公司要和我们公司合作,他们想在自己的app中加入我们app的某些界面,说的是界面自己写,我们给他们数据,这样就需要用的我们的一些工具类,但是我们又不想把核心算法给他们,在这样的前提下,我就用到了framework。然后呢,刚巧有一个人问我framework该怎么整,于是,就有了这篇文章。小白可参考,大神请指正。

格式

  • 静态库:以.a 和 .framework为文件后缀名。(.a文件不能直接使用,要配合.h文件,如有需要再加Resource文件;framework可以直接使用
  • 动态库:以.tbd(之前叫.dylib) 和 .framework 为文件后缀名。

本质区别

  • 静态库:链接时会被完整的复制到可执行文件中,被多次使用就有多份拷贝。
  • 动态库:链接时不复制,程序运行时由系统动态加载到内存,系统只加载一次,多个程序共用(如系统的UIKit.framework等),节省内存。

系统的framework都是动态的,我们自己创建的是静态的,动态的App Store审核是不会通过的,这点你就放心吧。

优点

  • 静态库
    1、模块化,分工合作。
    2、避免少量改动经常导致大量的重复编译连接。
    3、也可以重用,注意不是共享使用。
  • 动态库
    1、可以将最终可执行文件体积缩小。
    2、多个应用程序共享内存中得同一份库文件,节省资源。
    3、可以不重新编译连接可执行程序的前提下,更新动态库文件达到更新应用程序的目的。

后记

目前只是写这么多,以后想到再加上。说了这么多还没有说怎么创建呢!
请看下篇文章 -- iOS — Xcode8.3制作FrameWork

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 静态库与动态库的区别 首先来看什么是库,库(Library)说白了就是一段编译好的二进制代码,加上头文件就可以供别...
    吃瓜群众呀阅读 12,074评论 3 42
  • 介绍 动态库形式:.dylib和.framework 静态库形式:.a和.framework 动态库和静态库的区别...
    齐滇大圣阅读 46,333评论 18 251
  • 仅以方便自己查阅记录前言1.静态库和动态库有什么异同?静态库:链接时完整地拷贝至可执行文件中,被多次使用就有多份冗...
    190CM阅读 4,276评论 0 4
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,357评论 25 708
  • 一 当初在校园里,安小若绝对是女神级人物。 “媚眼含羞合,丹唇逐笑开,风卷葡萄带,日照石榴裙。惹我相思泪,独我小若...
    李素莹阅读 720评论 3 2