iOS开发笔记--静态库的制作与使用

一、iOS项目中库的使用

 1、开源库
     * 公开源代码,能看到具体实现
     *比如SDWebImage、AFNetworking
2、闭源库
     * 不公开源代码,是经过编译后的二进制文件,看不到具体实现
     * 主要分为:静态库、动态库(注意自己制作的动态库不能上传到appStore
 

二、本文首先讲的的是静态库的制作以及使用 

  1、新建静态库项目
     新建静态库项目选择cocoa Touch Static Library
     然后编写核心代码
 2、分别在真机和模拟器下编译生成对应环境的静态库
注意真机文件夹下得静态库只能用于真机上, 模拟器文件夹下得静态库只能用于模拟器下
 3、利用终端指令合成真机、模拟器静态库
       可以借助 lipo -info 静态库文件地址 指令查看当前静态库支持的平台
       可以借助 lipo -create libdev/lib08-staticDemo.a  libPro/lib08-staticDemo.a  -output HMTool.a 指令将模拟器和真机的静态库合并为一个静态库
       lipo -create 需要合并的静态库1 需要合并的静态库2 -output 合并之后的文件名称
       注意: 虽然将真机和模拟器的静态库合并在一起之后, 以后我们就不用关心当前是允许在模拟器还是真机了, 但是如果在程序发布时还是建议大家使用真机的静态库. 小
  4、图片资源的处理
       如果静态库中用到了图片资源,一般都放到一个bundle文件中,bundle名字一般跟 .a 或 .framework 名字一致
       bundle的创建:新建一个文件夹,修改扩展名为 .bundle 即可,右击bundle文件,显示包内容,就可以往bundle文件中放东西
    5、静态库的注意点
    静态库中包含了Category
    如果静态库中包含了Category,有时候在使用静态库的工程中会报“方法找不到”的错误(unrecognized selector sent to instance)
    解决方案:在使用静态库的工程中配置Other Linker Flags为-ObjC
  
 
 
原文地址:https://www.cnblogs.com/ios4kerwin/p/5127886.html