IOS_SDK封装以及使用

作为一个iOS开发人员,我们总会遇到一些不想公开的算法、逻辑。那就需要用到SDK,下面我简单的介绍一下SDK的封装和使用!!!


1.创建iOS Framework工程
首先我们需要创建一个iOS的CocoaTouch工程,点击Next,输入我们Framework的名字即可。下方我们暂且将该Framework的名字命名为MyFramework。如下所示:

_CLAY_.png

_CLAY_.png

2.设定兼容版本
创建完工程后,我们要选择Deployment Target, 此处我们选择的是8.0。也就是说此处我们封装的SDK所支持的iOS系统版本是iOS8.0+。
_CLAY_.png

3.选择“静态库”
我们创建的framework默认是动态库,所以我们要讲Mach-O Type设置为静态库“Static Library”,如下所示。
_CLAY_.png

4.引入源代码并进行编译
①这里我创建的是SayHello类。
.h文件中

#import <Foundation/Foundation.h>

NS_ASSUME_NONNULL_BEGIN
@interface SayHello : NSObject

- (void)sayHello;

@end

NS_ASSUME_NONNULL_END

.m文件中

#import "SayHello.h"

@implementation SayHello

- (void)sayHello {
    NSLog(@"hello world");
}

@end

下方截图中是在Build Phases下的Headers中进行设置的。将用户可以看到的头文件房子Public中,用户看不到的放在Project中。如下所示。

_CLAY_.png

5.编译
_CLAY_.png

准备进行编译 分别在模拟器和真机的环境下进行编译,模拟器不用介绍了,真机的环境选择如图所示:
_CLAY_.png

编译完后,在Products下会生成相应的Framework, 然后通过Show in Finder进行查看即可。
_CLAY_.png

_CLAY_.png

我们使用"lipo -create 模拟器framework路径 真机framework路径 -output 新的文件"命令将上述两个文件进行合并。下方就是合并上述两个文件的执行命令, 执行完下方命令后会生成合并后的文件,将上述文件进行替换即可。经过上述步骤,我们的Framework至此就封装完毕了。
_CLAY_.png

经过上面的步骤,可以在计算机的根目录下找到MyFramework文件,将其替换项目中的两个同名的MyFramework文件,就此我们的SDK就已经制作完成了。

SDK的使用

SDK已经依赖的资源文件封装完毕后,接下来就是在其他App中使用了。引入SDK步骤也是比较简单的,这和引入友盟,个推,微信支付,支付宝等等SDK的步骤差不多。下方就是我们引入SDK的步骤。
我新建了一个test工程
1.导入SDK并进行相关配置

_CLAY_.png

2.配置完路径后,接下来我们要在Other Linker Flags添加上-Objc和-all_load选项。-Objc这个flag告诉链接器把库中定义的Objective-C类和Category都加载进来。而-all_load会强制链接器把目标文件都加载进来,即使没有objc代码。根据上面介绍的,下方即使不添加-Objc这个选项,下方的工程也是可以正常运行的。
_CLAY_.png

3.SDK的使用
配置完毕后,接下来就是在我们App中使用该SDK了。下方代码就是我们上述MyFramework的使用方式

#import "ViewController.h"

#import <MyFramework/MyFramework.h>

@interface ViewController ()

@end

@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];
    // Do any additional setup after loading the view, typically from a nib.
    
    [[SayHello alloc] sayHello];
    
}

@end
_CLAY_.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容