简体中文

初始化接口

iOS APIs - 初始化接口 | Kalay SDK 开发指南

KY_InitIOTC

  • 功能描述:
  • 用于P2P SDK和Kalay SDK的 IOTC初始化。

接口定义

+ (void)KY_InitIOTCWithLicenseKey:(NSString * _Nonnull)licenseKey privateKey:(NSString * _Nonnull)privateKey success:(DictionaryBlock)success failure:(void (^ _Nonnull)(NSError * _Nullable))failure;

参数说明

参数类型说明
privateKeystring初始化Kalay SDK所需的授权码(什么是授权码?
licenseKeystring初始化P2P SDK所需的授权码(什么是授权码?

回调说明

回调类型说明
successDictionaryBlock初始化成功的回调,返回一个包含相关信息的字典。
failurevoid (^)(NSError *)初始化失败的回调。NSError中的code返回码,详细定义参考:返回码

返回码

返回码说明
10001privateKey 永久有效
10002privateKey 在有效期内
-10000privateKey 无效
-10003privateKey 已过期
-1004sdk licenseKey 无效
-1005sdk licenseKey 无效
-3sdk licenseKey 重复初始化
-20031sdk licenseKey 重复初始化
-40032sdk licenseKey 重复初始化

代码示例

[Camera KY_InitIOTCWithLicenseKey:LICENSEKEY privateKey:PRIVATEKEY success:^(NSDictionary * _Nonnull dic) { NSLog(@"KY_InitIOTC:success ip: %@ msg: %@", [dic objectForKey:@"ip"], [dic objectForKey:@"msg"]); } failure:^(NSError *error) { if (error.code == KYPrivateKeyErrorNoValid) { NSLog(@"KY_InitIOTC:false(KYPrivateKeyErrorNoValid) ip: %@ msg: %@ ", [error.userInfo objectForKey:@"ip"], error.userInfo.description); } else if (error.code == KYPrivateKeyErrorExpire) { NSLog(@"KY_InitIOTC:false(KYPrivateKeyErrorExpire) ip: %@ msg: %@ ",[error.userInfo objectForKey:@"ip"], error.userInfo.description); } else { NSLog(@"KY_InitIOTC:false() ip: %@ msg: %@ ", [error.userInfo objectForKey:@"ip"], error.userInfo.description); } }];

KY_UninitIOTC

  • 功能描述:
  • 用于P2P SDK和Kalay SDK的 IOTC反初始化。

接口定义

+ (void)KY_UninitIOTC;

参数说明

暂无

回调说明

暂无

返回码

暂无

代码示例

[KYCamera KY_UninitIOTC];

KY_SetMasterRegion

  • 功能描述:
  • 设置分区分流方案的地区。

接口定义

+ (enum KYError)KY_SetMasterRegion:(TUTKRegion)region;

参数说明

参数类型说明
regionTUTKRegionP2P服务挂载的区域。详细区域设定参考:REGION_ENUM

REGION_ENUM:

ENUM说明
REGION_ALL所有区域
REGION_CN中国大陆地区
REGION_EU欧洲地区
REGION_US美洲地区
REGION_ASIA亚洲地区
REGION_COUNT枚举值数量,无实际意义

回调说明

返回值类型说明
KYErrorenum设置操作的结果状态码。

返回码

返回码说明
0设置成功
-3IOTC模块 重复初始化
-46该区域无效

代码示例

暂无

KY_LanSearch

  • 功能描述:
  • 搜索本地局域网内的设备。

接口定义

+ (void)KY_LanSearch:(NSInteger)timeout block:(void (^ _Nonnull)(NSInteger, NSData * _Nullable))block;

设备信息结构体:

struct st_LanSearchInfo { char UID[21]; //!< The UID of discovered device char IP[16]; //!< The IP address of discovered device uint16_t port; //!< The port number of discovered device used for IOTC session connection char Reserved; //!< Reserved, no use };

参数说明

参数类型说明
timeoutint超时时间,单位:ms
blockvoid (^)(NSInteger, NSData *)
  1. 搜索到的设备数量;
  2. 包含搜索到的设备信息结构体数组的 NSData 对象,需自行解析。详细参考 st_LanSearchInfo

st_LanSearchInfo 结构体说明:

字段类型说明
UIDchar[21]发现设备的 UID
IPchar[16]发现设备的 IP 地址
portuint16_t设备用于 IOTC 会话连接的端口号
Reservedchar保留位,无实际用途

回调说明

通过 block 参数返回结果。

返回码

暂无

代码示例

[KYCamera KY_LanSearch:5000 block:^(NSInteger count, NSData * _Nullable data) {    if (count > 0 && data) {        NSLog(@"Found %ld devices.", (long)count);        // 解析 data 中的 st_LanSearchInfo 结构体数组        const struct st_LanSearchInfo *devices = (const struct st_LanSearchInfo *)data.bytes;        for (NSInteger i = 0; i < count; i++) {            NSString *uid = [NSString stringWithCString:devices[i].UID encoding:NSUTF8StringEncoding];            NSString *ip = [NSString stringWithCString:devices[i].IP encoding:NSUTF8StringEncoding];            uint16_t port = devices[i].port;            NSLog(@"Device %ld: UID=%@, IP=%@, Port=%d", (long)i, uid, ip, port);        }    } else {        NSLog(@"No devices found or search failed.");    } }];

KY_GetSDKVersion

  • 功能描述:
  • 获取SDK的版本号信息。

接口定义

+ (NSString * _Nullable)KY_GetSDKVersion;

参数说明

暂无

回调说明

通过返回值返回结果。

返回码

返回一个 NSString 对象,包含SDK的版本号,如 "3.3.0"。如果获取失败,返回 nil

代码示例

NSString *version = [KYCamera KY_GetSDKVersion]; if (version) {    NSLog(@"SDK Version: %@", version); } else {    NSLog(@"Failed to get SDK version."); }

KY_setLogEnable

  • 功能描述:
  • 设置log记录。

接口定义

+ (void) KY_setLogEnable:(BOOL)enable Level:(logLevel_t)level;
+ (void) KY_setLogEnable:(BOOL)enable Level:(logLevel_t)level path:(NSString *)path;

参数说明

参数类型说明
enableboolean是否开启log记录
pathstring日志文件存储的路径。设置后,log将按以下结构存储在沙盒中:
  • <path>/yyyy-MM-dd/HH:mm:ss/Console.txt
  • <path>/yyyy-MM-dd/HH:mm:ss/IOTC.txt
  • <path>/yyyy-MM-dd/HH:mm:ss/AVAPI.txt
  • <path>/yyyy-MM-dd/HH:mm:ss/RDT.txt
  • <path>/yyyy-MM-dd/HH:mm:ss/Global.txt
levellogLevel_tlog等级。详细定义参考:LOGLEVEL_ENUM

LOGLEVEL_ENUM:

枚举说明
0LEVEL_VERBOSE最详细的日志级别,包含所有信息
1LEVEL_DEBUG调试级别日志
2LEVEL_INFO信息级别日志
3LEVEL_WARNING警告级别日志
4LEVEL_ERROR错误级别日志
5LEVEL_SILENCE关闭所有日志

回调说明

暂无

返回码

暂无

代码示例

// 开启日志,级别为 DEBUG [KYCamera KY_setLogEnable:YES Level:1]; // 开启日志,级别为 INFO,并指定存储路径 NSString *documentsPath = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) firstObject]; NSString *logPath = [documentsPath stringByAppendingPathComponent:@"KalayLogs"]; [KYCamera KY_setLogEnable:YES Level:2 path:logPath];

即刻开启您的物联网之旅

联系解决方案专家
Kalay App
资讯安全白皮书
全球专利布局
解决方案
新闻动态
公司动态
行业资讯
媒体报道
永续发展
经营者的话
社会参与
环境永续
公司治理

+86 755 27702549

7×24小时服务热线

法律声明 隐私权条款

关注“TUTK”

TUTK服务尽在掌握

© 2022 物联智慧科技(深圳)有限公司版权所有粤ICP备14023641号
在线咨询
扫一扫

TUTK服务尽在掌握

全国免费服务热线
+86 755 27702549

返回顶部