如何使用 CocoaPods 将智能生活 App SDK iOS 版快速集成到项目中

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

集成 SDK

使用 CocoaPods 集成

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

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

    source 'https://github.com/tuya/tuya-pod-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;

参数说明

参数说明
appKeyApp key
secretKeyApp 密钥 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 的 AppKey、 AppSecret、安全图片。

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

Demo 概述

演示工程提供了 Swift 与 Objective-C 的版本,下面来说说如何获取 Swift 示例 与 Objective-C 示例的演示工程。

先决条件:

  • Xcode 12.0 及更高版本
  • iOS 12 及更高版本

Swift 示例演示工程:

  • 本示例中涂鸦 iOS 智能生活 App SDK 通过​ CocoaPods​ 等依赖分发。如果没有安装 CocoaPods,请先运行以下命令安装 CocoaPods:
sudo gem install cocoapods
pod setup
  • 复制或下载此示例,将目录更改为包含Podfile的目录,然后运行以下命令:
pod install
  • 此示例要求拥有 涂鸦IoT开发平台 的一对密钥和一个ecurity image,可以在 获取密钥 的标签下找到 AppKey、AppSecret 和 security image。

  • 打开 TuyaAppSDKSample-iOS-Swift.xcworkspace 生成的 pod。

  • 在 AppKey.swift 文件中填写 AppKey 和 AppSecret 。

struct AppKey {
    static let appKey = "Your AppKey"
    static let secretKey = "Your SecretKey"
}
  • 下载安全镜像,将其重命名为t_s.bmp,然后将其拖到工作区以与 处于同一级别Info.plist

Objective-C 示例演示工程:

  • 本示例中涂鸦 iOS 智能生活 App SDK 通过​ CocoaPods​ 等依赖分发。如果没有安装 CocoaPods,请先运行以下命令安装 CocoaPods:
sudo gem install cocoapods
pod setup
  • 复制或下载此示例,将目录更改为包含Podfile的目录,然后运行以下命令:
pod install
  • 此示例要求拥有 涂鸦IoT开发平台 的一对密钥和一个ecurity image,可以在 获取密钥 的标签下找到 AppKey、AppSecret 和 security image。
  • 打开TuyaAppSDKSample-iOS-ObjC.xcworkspace为您生成的 pod。
  • 在AppKey.h文件中填写 AppKey 和 AppSecret 。
struct AppKey {
    static let appKey = "Your AppKey"
    static let secretKey = "Your SecretKey"
}
  • 下载安全镜像,将其重命名为t_s.bmp,然后将其拖到工作区以与 处于同一级别Info.plist

 工程主要包括了以下功能:

  • 用户账号注册及登录

  • 用户信息管理

  • 家庭管理

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

  • 设备控制

常见问题

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

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

IoT砖家涂拉拉

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值