iOS SDK 集成指南

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核心库文件,支持i386x86_64arm64armv7,因此同时支持simulatordevice设备。

导入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,否则则停止。如下图:
// AppDelegate.h

#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);
    //startSdkWithAppId ID:Z01-1640257730-d+JDGQDe4XZOkNzH-B0C1 失效时间:2021-12-23 19:08:50 error:(null)
    }];
    return YES;
}

3 启用\禁用卓信SDK

  • 禁用卓信ID业务, 默认开启。
[ZXSDK setEnable:YES];

4 权限弹窗

  • 是否允许提示SDK内置的权限弹窗, 默认YES。
  • 当用户首次启动SDK或重新启用SDK时,将提示权限弹窗。
[ZXSDK allowPermissionDialog:YES];

5 获取卓信ID

  • 开发者获取卓信id, 必须在启用sdk后调用。
[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;
}

  • 初始化对象后, 调用对象的方法, 去获取相应的功能(跟以上的方法类似)
// 获取zxid
[self.zxsdkInfo getZXID:^(ZXSDKResultModel * _Nullable model, NSError * _Nullable error) {
    NSLog(@"startSdkWithAppId ID:%@ 失效时间:%@ error:%@", model.zxid, model.expireTime, error);
}];

// 获取uaid
[self.zxsdkInfo getUAID:^(NSString * _Nullable uaid, NSError * _Nullable error) {
    NSLog(@"getUAID ID:%@ error:%@", uaid, error);
}];
开发者中心 SDK 下载

文档中心搜索

技术
咨询

微信扫一扫

随时联系技术支持

在线
咨询