iOS SDK 集成指南
前言
- 本文档适用SDK版本:2.0.0.0 及以后。
- 支持iOS 9.0+;
- 请参考
ZXDemo
工程。
1 手动集成
iOS SDK资料包结构
ZXSDK/
|- ZXSDK.framework
|- ZXDemo
- ZXDemo:集成 Demo。
- ZXSDK.framework: SDK静态库。
- ZXSDK.framework:SDK核心库文件,支持
i386
、x86_64
、arm64
、armv7
,因此同时支持simulator
和device
设备。
导入SDK资源
- 打开
ZXDemo
工程,将ZXSDK.framework
添加到项目工程目录下:


- M1及以上CPU架构的电脑, 直接导入跑虚拟机如果报错
in /Users/xxx/Downloads/Package/sdk/release/ZXSDK/ZXSDK.framework/ZXSDK(ZXSDKResponseModel.o)
building for iOS Simulator, but linking in object file built for iOS, file '/Users/xxx/Downloads/Package/sdk/release/ZXSDK/ZXSDK.framework/ZXSDK' for architecture arm64
则需要在 build setting -> Excluded Architectures -> 增加arm64

库引用检查
- 在导入时,Xcode正常情况下会自动添加引用,但是偶尔也会不添加,注意检查下图中的引用路径,如果报错找不到库或者头文件,一般都是下面的引用没有添加。

2 启动SDK并获取卓信ID
- 开发者通过启动SDK获取卓信ID。
- 首次启动SDK时将触发权限弹窗。当用户选择”允许“,则继续生成卓信ID,否则则停止。如下图:

#import <UIKit/UIKit.h>
#import <ZXSDK/ZXSDK.h>
@interface AppDelegate : UIResponder <UIApplicationDelegate>
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
[ZXSDK startSdkWithAppId:AppId callback:^(ZXSDKResultModel * _Nullable model, NSError * _Nullable error) {
NSLog(@"startSdkWithAppId ID:%@ 失效时间:%@ error:%@", model.zxid, model.expireTime, error);
}];
return YES;
}
3 启用\禁用卓信SDK
[ZXSDK setEnable:YES]
4 权限弹窗
- 是否允许提示SDK内置的权限弹窗, 默认YES。
- 当用户首次启动SDK或重新启用SDK时,将提示权限弹窗。
[ZXSDK allowPermissionDialog:YES]
5 获取卓信ID
[ZXSDK getZXID:^(ZXSDKResultModel * _Nullable model, NSError * _Nullable error) {
NSLog(@"getZXID ID:%@ 失效时间:%@ error:%@", model.zxid, model.expireTime, error)
}]
6 获取UAID
- 开发者获取UAID, 必须在启用sdk后调用。获取为主网络卡的运营商的UAID
[ZXSDK getUAID:^(NSString * _Nullable uaid, NSError * _Nullable error) {
NSLog(@"getUAID ID:%@ error:%@", uaid, error)
}]
7 其他方式使用相关功能(服务商使用, 普通用户使用上面的方法)
- 此方式需要自己初始化 存储 ZXSDKProtocol的对象(最好只初始化一次). 推荐服务商使用, 普通用户推荐上面的类方法使用
- (id<ZXSDKProtocol>)zxsdkInfo {
if (!_zxsdkInfo) {
_zxsdkInfo = [ZXSDK initWithAppId:AppChannelId];
}
return _zxsdkInfo;
}
- 初始化对象后, 调用对象的方法, 去获取相应的功能(跟以上的方法类似)
[self.zxsdkInfo getZXID:^(ZXSDKResultModel * _Nullable model, NSError * _Nullable error) {
NSLog(@"startSdkWithAppId ID:%@ 失效时间:%@ error:%@", model.zxid, model.expireTime, error);
}];
[self.zxsdkInfo getUAID:^(NSString * _Nullable uaid, NSError * _Nullable error) {
NSLog(@"getUAID ID:%@ error:%@", uaid, error);
}];