iOS 封装SDK

845 阅读3分钟

我从简书搬家啦~~

本篇文章源地址: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:

my.csdn.net/u011496891

以及觉,我不知道他的地址- -

PS:生成的是真机版本或模拟器版本,怎么生成一个真机和模拟器都可以使用的版本我就不提了,百度一下一大堆教程。另外,建议第三方库不要封进库里,容易产生冲突,如果你非要封,记得改名字。至于怎么封进去,我百度了也尝试很多种方法,反正我是没有成功封进去过,,,如果你成功封进去,麻烦告诉一下我~~~

---------我是分界线------------

12.26更新

我知道第三方怎么封进去了,如果不暴露头文件,把#improt写进.m文件中,然后打包即可