SDK开发

调用第三防的大家都了解,SDK有两种形式,一是一个.a文件,另一种就是一个简单的framework文件。iOS8之前并不支持动态框架,所以framework实际上也就是对静态库的一种包装而已,不过其方便性可想而知,因而选用framework是一个不错的方式。本文设计SDK支持iOS7以上,所以对动态框架并不做过多介绍。

创建工程

接下来我们开始创建工程,建工程前我会先建文件夹,大致如下



从名称来看,应该比较清晰,不做过多说明,现在打开Xcode开始创建工程



以上两步创建framework工程,该工程内部将主要包含我们的SDK源码。现在开始创建测试工程,方便对SDK进行调试。



到这里,我们已经创建了两个工程,需要将这两个工程关联起来,这里需要用到Workspace,仍然打开Xcode,选择File->New->Workspace,命名好你的Workspace并创建,这时候我们看到SDK目录下面应该是:



好,现在打开workspace,依次把之前创建的framework工程和测试工程拖进workspace内



现在选中MySDKTests->TARGETS->Build Phases,在Link Binary With Libraries中加入MySDK.framework



现在我们可以开始在framework工程中创建文件,并在测试工程中进行测试,选中framework工程,新建MySDKTest类,需要设置该类为public,以便外部能访问到



MySDKTest.h


@interface MySDKTest : NSObject

+ (void)printTest;

@end


MySDKTest.m


#import "MySDKTest.h"

@implementation MySDKTest

+ (void)printTest {

     NSLog(@"MySDK Test");

}

@end


MySDK.h 把公开的头文件放在此处是个不错的方式


#import <UIKit/UIKit.h>

#import <MySDK/MySDKTest.h>

//! Project version number for MySDK.

FOUNDATION_EXPORT double MySDKVersionNumber;

//! Project version string for MySDK.

FOUNDATION_EXPORT const unsigned char MySDKVersionString[];

// In this header, you should import all the public headers of your framework using statements like #import <MySDK/PublicHeader.h>


在测试工程中进行测试


#import"ViewController.h"

#import <MySDK/MySDK.h>

@interface ViewController()

@end

@implementation ViewController

- (void)viewDidLoad {

    [superviewDidLoad];

    [MySDKTest printTest];

}

@end

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值