快速集成

更新时间:2023-05-22 06:38:22下载pdf

本文介绍如何使用 CocoaPods 将涂鸦智能生活 App SDK iOS 版快速集成到您的项目中。SDK 要求 iOS 版本不低于 11.0。

集成 SDK

使用 CocoaPods 集成

  1. 更新 CocoaPods 至最新版本。CocoaPods 的使用请参考 CocoaPods 官方文档

  2. Podfile 文件中添加以下内容:

    source 'https://github.com/tuya/tuya-private-specs.git'
    platform :ios, '11.0'
    
    target 'Your_Project_Name' do
        pod "TuyaSmartHomeKit"
    end
    
  3. 在项目根目录下,执行 pod update 命令进行集成。

初始化 SDK

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

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

  3. 在项目的PrefixHeader.pch文件添加以下内容。

    #import <TuyaSmartHomeKit/TuyaSmartKit.h>
    

    Swift 项目可以在 xxx_Bridging-Header.h 桥接文件中添加以下内容。

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

配置 SDK

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

参数说明

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

示例代码

Objc:

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

Swift:

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

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

打开 Debug 模式

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

Objc:

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

Swift:

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

语言设置

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

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

配置 Widget 工程

  • Widget 创建步骤

  • 修改 Podfile

    post_install do |installer|
        installer.pods_project.targets.each do |target|
            target.build_configurations.each do |config|
                config.build_settings['APPLICATION_EXTENSION_API_ONLY'] = 'NO'
            end
        end
    end
    
  • AppGroups

    • 开启 AppGroups 权限
    • 在 SDK 初始化前,给 SDK 设置 AppGroups Name
    • 因为 AppGroups 只有付费开发者账号才能创建权限,所以免费开发者账号不能调试 Widget 应用
  • 配置安全图片和用 AppKey、AppSecret 初始化 SDK

  • 在用 AppKey 初始化 SDK 前设置 AppGroupName

    [TuyaSmartSDK sharedInstance].appGroupId = APP_GROUP_NAME;
    [[TuyaSmartSDK sharedInstance] startWithAppKey:SDK_APPKEY secretKey:SDK_APPSECRET];
    

使用 SDK

  • 在主工程中设置当前 homeId
  • 使用 TuyaSmartDeviceModel.switchDp 判断设备是否支持快捷开关。
  • 需要在 viewWillAppear 中判断是否在主工程中切换了账号和房间,如果切换了需要刷新数据。

Demo App

准备 Demo

准备工作 阶段,您可以获取 iOS 版本 SDK 的 AppKeyAppSecret、安全图片。

集成 SDK 时请确认 BundleIdAppKeyAppSecret、安全图片是否与涂鸦 IoT 平台上的信息一致,任意一个不匹配会导致 SDK 无法使用。

Demo 概述

演示工程提供了Objective-C 的版本,请访问 Objective-C 示例 获取演示工程。工程主要包括了以下功能:

  • 用户账号注册及登录

  • 用户信息管理

  • 家庭管理

  • Wi-Fi 快连和热点模式配网

  • 设备控制

    快速集成

常见问题

  • 问题现象:API 请求提示以下签名错误。

    {
      "success" : false,
      "errorCode" : "SING_VALIDATE_FALED",
      "status" : "error",
      "errorMsg" : "Permission Verification Failed",
      "t" : 1583208740059
    }
    
  • 解决办法:确认 BundleId、AppKey、AppSecret、安全图片是否与 涂鸦 IoT 平台 上的信息一致,任意一个不匹配都将校验失败。具体请按照 准备工作 来进行检查。