在项目开发中,或多或少的都会使用第三方库,有时候也会将自己项目中独立于业务的相关代码打包成库以供别人使用。在Android开发中,一般打包为aar或者jar文件以供第三方使用。iOS开发中,则可以直接打包为.a文件,iOS内置了Static Library的模板,所以使用上也是十分的方便。
在正式讲解打包.a静态库之前,首先来看一些概念:

什么是库?

所谓库就是程序代码的集合,是共享程序代码的一种方式。

库的分类

根据程序代码的开源情况,库可以分为两类:

开源库

源代码是公开的,第三方开发者可以看到具体实现。比如GitHub上比较出名的第三方框架AFNetworking、SDWebImage。

闭源库

不公开源代码,只公开调用的接口,看不到具体的实现,是一个编译后的二进制文件。这种常见于一些公司的SDK包,比如高德地图SDK、环信即时通讯SDK等等。而闭源库又分为两类:静态库和动态库。本篇重点要讲的便是其中的静态库。

静态库和动态库的区别

静态库

以”.a”或者“.framework”为文件后缀名。

动态库

以”.dylib”或者“.framework”为文件后缀名。

区别

静态库链接时会被完整的复制到可执行文件中,被多次使用就有多份拷贝。形如:

iOS入门之打包静态库相关推荐

  1. iOS架构-cocoapods打包静态库(依赖私有库、开源库、私有库又包含静态库)(14)

    前言: iOS工程架构少不了cocoapods 对第三方库的管理,它有着很好的操作性和集中管理的特性.之前的写了不少Xcode 建静态库工程打包.a 和 .framework 的文章,但是我们要先建静 ...

  2. iOS 使用cocopods打包静态库

    Cocoapods作为OS X和iOS开发平台的类库管理工具,已经非常完善和强大.通常我们用pod来管理第三方开源类库,但我们也极有可能会开发一个用pod管理依赖关系的静态类库给其他人使用,而又不愿意 ...

  3. IOS15打包静态库

    IOS15打包静态库 环境 xCode13.0 IOS 15 平台 我只用最新的软件. 新建一个静态库, 命名: TestStaticLib 语言我们选中OC 新建一个文件继承NSObject, To ...

  4. CocoaPods打包静态库

    ### CocoaPods打包静态库 $ pod lib create FMIOSKit //创建 $ git tag -a 0.1.2 -m commit //打tag $ git push --t ...

  5. Xcode5打包静态库

    今天研究了一下怎么打包静态库,从网上查了很多资料,但目前大多数都是说在Xcode4上怎么打包静态库的,所以今天我用Xcode5打包了静态库,其实都差不多呢. 打包的步骤如下: 1.创建一个静态库项目, ...

  6. Xshell 基础命令及其打包静态库和动态库命令

    open ------- 打开链接服务器  clear------------清屏 ls    ----------查看文件目录 ls -all --------查看所有的文件目录 rm -rf  n ...

  7. 深入iOS系统底层之静态库介绍

    少长咸集,群贤毕至.--<王羲之・兰亭集序> 目标文件 目标文件结构 程序员编写的是源代码,而计算机运行的则是CPU能识别的机器指令,因此必须要有一系列工具或程序来将源代码转化为机器指令, ...

  8. oc 协议 回调 静态成员_深入iOS系统底层之静态库

    少长咸集,群贤毕至.--<王羲之・兰亭集序> 目标文件 目标文件结构 程序员编写的是源代码,而计算机运行的则是CPU能识别的机器指令,因此必须要有一系列工具或程序来将源代码转化为机器指令, ...

  9. AndroidStudio jni开发入门及打包so库和jar包

    AndroidStudio jni开发入门及打包so库和jar包 配置ndk开发环境 下载NDK,LLDB,CMake工具包 配置系统环境变量 在原有项目中进行jni开发环境配置 Androidstu ...

最新文章

  1. jQuery对下拉框、单选框、多选框的处理
  2. c,C++语言中、\t \r \n 和空格什么意思
  3. MIR6校验时移动平均价为负的原因及解决
  4. boost::math模块使用 Brent 方法求函数最小值的示例
  5. 《Python Cookbook 3rd》笔记(3.10):矩阵与线性代数运算
  6. 第十五届北京师范大学程序设计竞赛决赛(网络同步赛) B lca水 D 思维,找规律...
  7. LeetCode 1957. 删除字符使字符串变好
  8. Spring Framework--SpringMVC(1)--DispatcherServlet
  9. 日常(关于游泳之列的真理问题讨论)
  10. CnPack常用的功能,太方便了!
  11. 系统发育树构建算法和软件
  12. 微信公众号排版 | 汇总和实战
  13. 总结:伺服电机控制及结合强弱电的控制系统
  14. 《数据结构》第十一篇、线性表中的链式存储结构--循环链表
  15. BCT4157/4157B是一种高带宽、快速单刀双掷(SPDT)CMOS开关
  16. 安装lux:推荐一款网页视频下载工具。并简单使用。(win)
  17. 测试工程师需要具备的能力
  18. 传智播客javase总结 2
  19. 走进“开源SDR实验室” 一起玩转GNU Radio:gr-analog
  20. Flutter开发--------点击图片放大

热门文章

  1. [电路]2-独立源和受控源
  2. 周五IT程序员科技段子
  3. 入手评测 微星武士GF66和GF76选哪个
  4. 警惕!QQ盗号又出新招 不改密码只转移QQ币
  5. 0514课的预习任务
  6. 如果了解有10分,对于垃圾邮件你了解几分......
  7. 社交网络的致瘾性设计如何夺走我们的时间?
  8. Mycat(6):mycat简单配置
  9. 南阳农运会于2012年9月16日开幕
  10. linux小红帽实验心得,小红帽的读书心得(精选10篇)