iOS开发之打包静态库(一)

在开发iOS的过程中,我们有时候可能需要自己开发一些API给别人使用,但是又不想暴露具体的实现代码给别人(或者防止源代码被随便修改),这时候可以打包成.a的静态库以提供给别人使用。或者有时候我们引入一些C++编译的第三方文件时可能会出现编译的错误,但是我们如果打包成.a静态库时就很少会出现OC与C++混编的错误,原因很简单.a静态库文件是编译好的二进制文件,二进制文件与二进制文件互相混编当然没有什么问题。

下面就开始一步一步的打包静态库吧:

第一步:新建一个工程,选择静态库选项,新建一个项目名称并保存:


第二步:在项目里面创建你想给别人使用的API,当然,也可以拖入原来就已经写好的类文件,我这里就随便创建几个文件,并写一些方法,我这里总共创建了三个类,其中XXClassOne和XXClassTwo里面没有写任何方法,主要是为了演示怎样添加暴露的头文件,在StaticLibTest类里面有一个方法,主要是为了演示到时候是否能成功调用打包好了的静态库里面的方法:


第三步:运行项目,我们现在选择模拟器,就会生成一个.a文件,可以发现上图中为红色的libStaticLibTest.a文件现在变成了黑色,表示已经成功生成了一个.a文件:



选中libStaticLibTest.a文件并点击鼠标右键,找到libStaticLibTest.a文件的位置:

(由于截图比较多,文章过长,简书提示保存不了尾部内容,下章继续...)

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

推荐阅读更多精彩内容

  • 静态库与动态库的区别 首先来看什么是库,库(Library)说白了就是一段编译好的二进制代码,加上头文件就可以供别...
    吃瓜群众呀阅读 12,078评论 3 42
  • 这几天公司有一个新的需求,就是要将我们开发的某些东西都抽取出来,打个比方我们开发了A项目,可以以后B项目要包含A项...
    黄鱼儿啦啦啦阅读 6,236评论 2 16
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,951评论 19 139
  • 有的人对待爱情坦坦荡荡,爱情来的时候就会特别花心思去珍惜,爱情走了也就随风而去,没不会去强求没有结果的爱情。但是有...
    星宿灰舍阅读 293评论 0 0
  • 夜里,我听见了火车的声音, 我望着窗外 寂夜沉沉,暮色如水 你开了多久,什么时候到达 我想着,灯没了,世界潮湿了,...
    罗乐观I阅读 146评论 0 0