iOS 制作静态库.a

一、静态库简介

1、定义:

   静态库即静态链接库(Windows 下的 .lib,Linux 和 Mac 下的 .a),说白了就是一段编译好的二进制代码,加上头文件就可以供别人使用。

2、使用:

(1)某些代码需要给别人使用,但是我们不希望别人看到源码,就需要以库的形式进行封装,只暴露出头文件。

(2)对于某些不会进行大的改动的代码,我们想减少编译的时间,就可以把它打包成库,因为库是已经编译好的二进制了,编译的时候只需要 Link 一下,不会浪费编译时间。

3、静态库和动态库的存在形式:

     静态库:.a和.framework
     动态库:.dylib(iOS9以后.tbd)和.framework

二、创建静态库

1、创建工程项目

2、创建完工程默认如下图,我们可以删除掉MyLibTest类,加入需要打包的框架等。
    

3、为了讲解简单,我们以MyLibTest类为例,现在我们在.h添加公开方法
        

4.配置要导出公开的文件.h
    1)第一种方法
    

    2)第二种方法
     Build Phases --> New Headers Phase
    
     在Public下添加需要公开的类
    

5、Build Setting --> Architectures 将Debug 修改为No

 PS:Xcode  Release和Debug模式的区别
  Debug:调试模式
 Release:发布模式
 我们在开发的时候建议使用Debug模式,上线的时候可以使用Release模式,这样发布的APP就不会在程序内部做大量的NSLog输出了,可以节省一些硬件设备的资源。Xcode默认是Debug模式。
 修改步骤:
  Product -->Scheme --> Edit Scheme --> Run
  


6、编译,生成.a
 (1)选择真机Generic iOS Device 编译一遍,再选择模拟器编译一遍。此libMyLibTest.a将会由红变黑
 (2)右击libMyLibTest.a,Show in Finder就会显示编译好的.a库。
  

7、真机与模拟器.a的合并
  (1)进入到其所在的目录下,Products
  (2)合并 命令: lipo -create 真机静态库.a 模拟器静态库.a -output 合并后的静态库
   (3)将合并后的静态库替换掉真机的静态库。即可以将Debug-iphoneos拖到工程使用了!
     

 PS:合并后查询是否同时支持模拟器和真机
    命令: lipo -info 静态库.a

  

 如果要支持armv7s,可以在编译前修改Archirectures


 大家可以创建个新工程去享用了!

   
 


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值