快速集成

更新时间:2024-11-22 02:19:31下载pdf

本文介绍如何使用 CocoaPods,将商业门锁 iOS App SDK 快速集成到您的项目中。商业门锁 SDK 要求 iOS 版本不低于 11.0。

集成 SDK

使用 CocoaPods 快速集成

建议更新 CocoaPods 至最新版本,然后在 Podfile 文件中添加以下内容:

platform :ios, '11.0'

target 'Your_Project_Name' do
    pod "ThingSmartLockSDK"
end

然后在项目根目录下执行 pod update 命令进行集成。

CocoaPods 的使用,参考 CocoaPods 官方文档

初始化 SDK

  1. 打开项目设置,Target > General,修改 Bundle Identifier 为涂鸦开发者平台对应的 iOS 包名。

  2. 导入安全图片到工程根目录,重命名为 t_s.bmp,并加入 项目设置 > Target > Build Phases > Copy Bundle Resources 中。

    快速集成 快速集成
  3. 对于 Swift 项目,可以在 xxx_Bridging-Header.h 桥接文件中,添加以下内容。

    #import <ThingSmartLockSDK/ThingSmartLockSDK.h>
    
  4. 打开 AppDelegate.m 文件,在 [AppDelegate application:didFinishLaunchingWithOptions:] 方法中初始化 SDK。

配置 SDK

- (void)startWithAppKey:(NSString *)appKey secretKey:(NSString *)secretKey;

参数说明

参数 说明
appKey App key
secretKey App 密钥 key

示例代码

Objective-C:

[[TuyaSmartSDK sharedInstance] startWithAppKey:<#your_app_key#> secretKey:<#your_secret_key#>];

Swift:

 TuyaSmartSDK.sharedInstance()?.start(withAppKey: <#your_app_key#>, secretKey: <#your_secret_key#>)

至此,准备工作已经全部完毕。

打开 Debug 模式

在开发的过程中,您可以开启 Debug 模式,打印日志,用于分析问题。

Objective-C:

#ifdef DEBUG
    [[TuyaSmartSDK sharedInstance] setDebugMode:YES];
#else
#endif

Swift:

#if DEBUG
   TuyaSmartSDK.sharedInstance()?.debugMode = true
#else
#endif

语言设置

接口返回的错误信息与文案等,将会根据您工程所支持的多语言和用户手机的当前语言来显示。如果想要支持某种语言,可以在工程中的 Localization 中添加您想要支持的语言。

演示工程主要介绍 SDK 开发流程,以及一些简单的业务逻辑。在开发 App 之前,建议先按照本文完成演示工程的操作。

Demo app

准备 Demo

准备工作 阶段获取 iOSAppKeyAppSecret 和安全图片。集成 SDK 时,确认 BundleIdAppKeyAppSecret 和安全图片是否与平台上的信息一致。任意一个信息不匹配,均会导致 SDK 无法使用。

Demo 概述

演示工程提供 Objective-C 的版本。访问 Objective-C 示例 获取演示工程。工程主要包括以下模块:

  • 用户注册及登录
  • 站点管理
  • 设备管理
  • 密码管理
  • 电子钥匙管理
  • 门锁详情
  • 日志管理

Demo 示意图

快速集成

运行 Demo

  1. 确认您已经完成 SDK 的初始化。
  2. 进入 Demo 目录,执行 pod update

常见问题

问题现象:API 接口请求提示签名错误。

{
 "success" : false,
 "errorCode" : "SING_VALIDATE_FALED",
 "status" : "error",
 "errorMsg" : "Permission Verification Failed",
 "t" : 1583208740059
}

解决办法:确认 BundleIdAppKeyAppSecret 和安全图片是否与 涂鸦开发者平台 上的信息一致。任意一个信息不匹配,均会导致校验失败。