在iOS开发中,一些自定义开发的常用的工具类,不想因为代码的外泄而被别人窥见自己的功能代码。可以考虑将功能类打包成静态库,别人只能调用接口,而不能知道其中实现的细节。
简介:库是一些没有main函数的程序代码集合。除了静态库,还有动态链接库,他们之间的区别是:静态库可以编译到我们的执行代码中,应用程序可以在没有静态库的环境中运行;动态库不能编译到我们的执行代码中,应用程序必须在有链接库文件的环境下运行。
本例中,采用项目中 第一次打开某个视图 弹出操作提示 视图。采用装饰者模式。使用类同与实现类的父类继承同一个接口类。每个实现类拥有一个相同类型 的实现类的引用 ,当 视图 销毁时会给 应用发送消息 。应用类收到消息,继续操作。直到发送给使用类发送完成消息。
一。静态库的制作
1.file -> new -> Project 如图 lib_1
点击 next
2.将新建工程中的默认文件删除,将自己要制作静态库的文件加入中工程中
3.这时候.a库文件为红色(因为我这里已经成功创建完成了) 还不能使用。接着 选择真机(Command+B) 编译
这时 .a库为变成黑色 ,即可以在真机上使用的静态库,因为还需要 在模拟器上运行测试,所以还需要 制作一个 可在模拟器上使用的静态库
4.创建 模拟器上的静态库
(Command+B) 编译
这时 供模拟器上使用 静态库 创建完毕。此时 因为是两个独立的静态库,所以还需要将两个静态合并成一个
5.合并静态库
5.1 找到两个静态库的位置:在.a库上右击 选择show in Finder
Debug-iphoneos 文件夹下的为真机静态库
Debug-iphoneosmulator 文件夹下的为 模拟器静态库。
5.2 打开命令行工具 输入如下命令
此时在目标目录中生成最终使用的静态库
因为 在测试项目中需要使用静态库 所以需要将借口文件暴露出来 ,这里新疆一个文件夹最终为
二、测试使用静态库
1。新建一个 测试工程。
2. 将YZPromp 文件夹复制到工程中。
3.运行工程 :
测试成功:至此 静态库的创建与使用完毕
测试 使用代码 http://download.csdn.net/detail/kangguang/9524173
注:
如果用真机产生的静态库 会因为机型 而产生 缺少 针对不能指令集的 错误提示
用 lipo -info lib名称 可以查看
在 Generic iOS Device 编译产生静态库可以避免此问题。