我从简书搬家啦~~
本篇文章源地址:www.jianshu.com/p/1e3dfc9cd…
背景
因为老大让封装sdk,看了几天的博客,水了几个群,最后大牛们告知如何选择。(如果写的有错,望大牛指正QAQ)
lz使用的是XCode8.1
1.选择文件
a.
Framework 动态库。如果包含什么资源文件可使用这种方法。一般开发不包含两个framework,因为可能会起冲突。不过可以做到多个应用使用一份内存。(以前动态库无法上架,好像去年才开放的)
b.
Library 静态库。 .a文件。一般不会发生冲突。也较为常见。(水平较差的我选择了这个- -)不过资源文件得放入.bundle中。
无论你选择哪个,如果你在封装SDK时使用了某开放的第三方框架,需在说明文件声明,以免开发者重复导入引起冲突。
2.选择好之后
把.m文件去掉,因为要封装出去用的就是.h文件啊。。。
接着选择5处,支持最低版本(要支持到哪就选哪)。
当然,途中最左边的Project也是要选择最低版本的,方法同上。
接下来开始放入要使用的类或者其他文件。
3.bundle文件
刚刚说了,如果静态库有资源文件要使用,必须放入.bundle文件。
可以看到这里有两个bundle,一个是Apple Watch下的一个是Resource下的。这里我们选择resource下的bundle。名字一般与sdk名称相同。
准备工作准备完成之后如图:
4.写代码
我们可以看到一个.h文件一个.m文件。
此时,在里面写代码就行。仍然是.h写方法声明,.m写方法实现。
写完之后,在此处放入你要暴露的头文件
5.生成静态库
真机就用真机那个,模拟器就随便选一个,然后cmb+b运行
可以看见红色的.a文件在编译之后变成了黑色,show in finder可以找到路径
将.a和include下暴露的.h文件放在一个文件夹下
欧克~带着这个文件夹去需要使用的工程里使用吧~
在这里感谢一下交流群的几位大佬:一位是凉白开,她的简书地址:www.jianshu.com/users/ff48a…
还有走走大佬,他的CSDN:
以及觉,我不知道他的地址- -
PS:生成的是真机版本或模拟器版本,怎么生成一个真机和模拟器都可以使用的版本我就不提了,百度一下一大堆教程。另外,建议第三方库不要封进库里,容易产生冲突,如果你非要封,记得改名字。至于怎么封进去,我百度了也尝试很多种方法,反正我是没有成功封进去过,,,如果你成功封进去,麻烦告诉一下我~~~
---------我是分界线------------
12.26更新
我知道第三方怎么封进去了,如果不暴露头文件,把#improt写进.m文件中,然后打包即可