这个是上次在做支付宝插件支付时候看到的。
支付宝虽然最后还是通过URL_Scheme跳转,但是有部分加密验签以及数据处理是通过一个客户端插件添加到我们的应用中的。
对于静态库和动态库的一些概念就暂不啰嗦了。
只是觉得这种开发插件的方式用处还是挺多的。
静态库制作步骤( XCode 4.5+)
1.创建项目
2.添加方法
3.build出两个静态库。
因为模拟器和真机设备硬件架构不同。
成功后products组下的XXXX.a会变成黑色,直接在show in finder。
我这边build时有个小问题,先选择了模拟器目标生产静态库时,build结束后下面的xxxx.a文件还是红色的,此时不能在show in finder。
改变成 ios device 生产后,xxx.a变成黑色,打开finder后发现其实两个环境的静态库都已存在。
此刻看文件夹前缀是Debug,一般我们都知道,正式线上版本的插件环境都需要Release版本。
这个也很简单,在scheme中的Run选项把Debug改成Release在build,就能生成两个release的版本。
4.静态库的调用。
把头文件和.a文件拖到你的项目下就可以直接使用,但是记得根据不同的测试环境添加不同的静态库(模拟器和真机)。
5.当然对于第4点,亦可以不用麻烦的做分别,直接合并两个环境的静态库。
在终端使用 lipo -create [模拟器static.a] [真机static.a] -output [合并后的static.a]
你也可以用lipo的一些命令来查看这些包的信息。
最后说的,有利必有弊的一点,最简单的一点我们能想到,合并提高了使用的方便性,但是会增加静态库文件的大小。
因此最后到底怎么权衡利弊就看个人了。