IOS_SDK封装以及使用

作者: _CLAY_ | 来源:发表于2019-01-04 17:13 被阅读31次

作为一个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

相关文章

  • IOS_SDK封装以及使用

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

  • IOS_SDK封装以及使用

    1.创建iOS Framework工程首先我们需要创建一个iOS的CocoaTouch工程,点击Next,输入我们...

  • iOS 封装.framework 以及使用

    .framework是什么? .framework是什么? 这个问题相信做iOS的都知道答案。 在我们的日常开发中...

  • 封装AJAX,以及使用promise

    以下是一个封装好的AJAX: AJAX如果要符合promise的写法,就必须return一个new promise...

  • iOS 封装.framework 以及使用

    .framework是什么? “静态库”和“动态库”有什么区别? iOS里静态和动态库形式 .a与.framewo...

  • mac终端下的常用命令记录

    一、cocoapods相关 1、iOS项目使用pod导入第三方库 2、iOS_SDK相关 补充关于架构:armv7...

  • iOS 设备唯一UDID获取

    使用的方法以及封装的工具类, 在应用里使用使用keyChain,我们需要导入Security.framework。...

  • framework使用pod安装

    上篇文章《iOS封装功能生成 .framework》中讲到了如何封装framework以及简单使用,不过是通过直接...

  • python---核心知识10之面向对象三大特性之继承1

    1.封装:在讲继承之前,我们先谈谈封装,因为封装我们之前已经使用过很多了,所以我们只谈谈封装的概念以及一些优点就行...

  • NoHttp的使用以及封装

    上一篇写到OkHttp,简单的对比了下咱们安卓开发中用到的网络框架,到了android 6.0也不会支持volle...

网友评论

    本文标题:IOS_SDK封装以及使用

    本文链接:https://www.haomeiwen.com/subject/ngrkrqtx.html