iOS (static library)静态库的创建与使用

         iOS开发中,一些自定义开发的常用的工具类,不想因为代码的外泄而被别人窥见自己的功能代码。可以考虑将功能类打包成静态库,别人只能调用接口,而不能知道其中实现的细节。

      简介:库是一些没有main函数的程序代码集合。除了静态库,还有动态链接库,他们之间的区别是:静态库可以编译到我们的执行代码中,应用程序可以在没有静态库的环境中运行;动态库不能编译到我们的执行代码中,应用程序必须在有链接库文件的环境下运行。

     本例中,采用项目中 第一次打开某个视图 弹出操作提示 视图。采用装饰者模式。使用类同与实现类的父类继承同一个接口类。每个实现类拥有一个相同类型 的实现类的引用 ,当 视图 销毁时会给 应用发送消息 。应用类收到消息,继续操作。直到发送给使用类发送完成消息。

一。静态库的制作

     1.file -> new -> Project 如图 lib_1

     iOS (static library)静态库的创建与使用_第1张图片

点击 next

iOS (static library)静态库的创建与使用_第2张图片

2.将新建工程中的默认文件删除,将自己要制作静态库的文件加入中工程中

iOS (static library)静态库的创建与使用_第3张图片

3.这时候.a库文件为红色(因为我这里已经成功创建完成了) 还不能使用。接着 选择真机iOS (static library)静态库的创建与使用_第4张图片(Command+B) 编译  

这时 .a库为变成黑色 ,即可以在真机上使用的静态库,因为还需要 在模拟器上运行测试,所以还需要 制作一个 可在模拟器上使用的静态库

4.创建 模拟器上的静态库

iOS (static library)静态库的创建与使用_第5张图片

(Command+B) 编译  

这时 供模拟器上使用 静态库 创建完毕。此时 因为是两个独立的静态库,所以还需要将两个静态合并成一个

5.合并静态库

  5.1 找到两个静态库的位置:在.a库上右击 选择show in Finder

   iOS (static library)静态库的创建与使用_第6张图片

    

Debug-iphoneos 文件夹下的为真机静态库

Debug-iphoneosmulator 文件夹下的为 模拟器静态库。

  5.2 打开命令行工具 输入如下命令

   iOS (static library)静态库的创建与使用_第7张图片

此时在目标目录中生成最终使用的静态库

iOS (static library)静态库的创建与使用_第8张图片

因为 在测试项目中需要使用静态库 所以需要将借口文件暴露出来 ,这里新疆一个文件夹最终为

iOS (static library)静态库的创建与使用_第9张图片


二、测试使用静态库

  1。新建一个 测试工程。

  2. 将YZPromp 文件夹复制到工程中。

  iOS (static library)静态库的创建与使用_第10张图片

3.运行工程 :

iOS (static library)静态库的创建与使用_第11张图片iOS (static library)静态库的创建与使用_第12张图片

测试成功:至此 静态库的创建与使用完毕

测试 使用代码 http://download.csdn.net/detail/kangguang/9524173 


注:

如果用真机产生的静态库 会因为机型 而产生 缺少 针对不能指令集的 错误提示

用 lipo -info lib名称  可以查看  

在 Generic iOS Device 编译产生静态库可以避免此问题。


你可能感兴趣的:(iOS (static library)静态库的创建与使用)