本文介绍如何在 iOS 项目中,集成 MiniApp SDK,使之能够构建智能生活小程序,运行在你的 IoT App 上。
准备工作
在集成 MiniApp SDK 之前,您需要在 涂鸦 IoT 开发平台 上:
- 注册开发者账号、创建产品、创建功能点等。
- 创建智能生活 App SDK,然后获取激活 SDK 的密钥,以保证小程序功能的正常运行。具体操作流程可参考:准备工作。
前提条件
请确保已经集成了涂鸦 智能生活 App SDK。具体集成方式,请参考 集成 SDK。
集成 SDK
MiniApp SDK 目前支持 pod
集成。
-
安装 Pod 环境。
MiniApp SDK 的组件依赖于
CocoaPods
管理,所以首先需要在您的运行环境 安装 CocoaPods。sudo gem install cocoapods pod setup
-
创建 Podfile 文件。
打开项目根目录,确认项目根目录下是否存在 Podfile 文件,不存在则创建。
touch Podile
Podfile 文件中新增以下内容:
source 'https://github.com/tuya/tuya-pod-specs.git' platform :ios, '11.0' inhibit_all_warnings! target 'Your_Project_Name' do pod "ThingSmartMiniAppBizBundle" end
-
更新 CocoaPods 依赖。
// 更新repo源&组件版本 pod update // 更新组件版本 pod update --no-repo-update
增加权限描述
为了保护用户隐私,苹果要求 App 必须申请相关的权限才可以使用某些系统能力。例如,相机、相册、蓝牙、麦克风和位置等。
权限名称 | 权限 Key | 权限涉及 API |
---|---|---|
相册读取 | NSPhotoLibraryUsageDescription |
|
相册写入 | NSPhotoLibraryAddUsageDescription | saveToAlbum |
相机 | NSCameraUsageDescription |
|
蓝牙 | NSBluetoothAlwaysUsageDescription 、NSBluetoothPeripheralUsageDescription | 配网相关 API、设备控制相关 API |
麦克风 | NSMicrophoneUsageDescription | chooseMedia |
设备支持方向
小程序页面支持横竖屏切换。如果您有页面切换横竖屏的需求,请首先在项目工程内配置 App 支持的横竖屏模式。
打开小程序
头文件依赖
#import <ThingSmartMiniAppBizBundle/ThingSmartMiniAppBizBundle.h>
打开小程序
// 通过小程序 ID 打开小程序
[[ThingMiniAppClient coreClient] openMiniAppByAppId:@"tydhopggfziofo1h9h"];
// 通过 URL 打开小程序
[[ThingMiniAppClient coreClient] openMiniAppByUrl:@"godzilla://tydhopggfziofo1h9h/" params:@{}];
// 通过二维码打开小程序
[[ThingMiniAppClient coreClient] openMiniAppByQrcode:@"qrcodeString" params:@{}];
引入能力包
为了使小程序拥有更多的可能性,涂鸦针对一些常用的能力做了包装,并且提供了不同的能力包以供选择。大家只需要将所需的能力包集成到工程中,就可以调用相应能力包中的 API,实现业务功能的开发。
基础能力包
基础能力包,与腾讯微信小程序大部分 API 类似,包括上传、下载、录音、交互、文件操作等 API。建议您默认集成基础能力包。
pod 'ThingSmartBaseKitBizBundle'
业务能力包
业务能力包提供了开发过程中一些常用涂鸦业务体系下的 API,包括查询多语言、打开控制面板等。建议默认集成业务能力包。
pod 'ThingSmartBizKitBizBundle'
家庭管理能力包
家庭管理能力主要包括以 家庭 为单位的信息查询等能力,是一些涂鸦业务管理的基础条件。家庭 是场景智能执行的最大单位。如需集成家庭管理能力包,在以上能力依赖的基础上,大家还需要额外集成 家庭管理 UI 业务包。
设备控制能力包
设备控制能力包是对设备控制相关能力的封装,能实现控制、监听、移除设备。如有需求,可参考 设备控制业务包接入文档。
pod 'ThingSmartDeviceKitBizBundle'
如果需要使用设备控制中蓝牙相关的能力,还需要集成如下组件:
pod 'ThingBLEInterfaceImpl'
pod 'ThingBLEMeshInterfaceImpl'
地图能力包
地图能力包是对地图相关能力的封装,包括获取位置、地理围栏等。
pod 'ThingSmartMapKitBizBundle'
媒体能力包
媒体能力包是对视频和相机的封装,您在使用 video
和 camera
媒体组件时,需要集成媒体能力包。
pod 'ThingSmartMediaKitBizBundle'
配网能力包
配网能力包是对配网流程的封装,提供了配网流程中所涉及的 API。您自建配网流程时,需要集成配网能力包。
pod 'ThingSmartPlayNetKitBizBundle'
P2P 传输能力包
P2P 传输能力包是对 P2P 建连/传输等能力的封装,包含 P2P 的初始化、连接、上传、下载和销毁等功能。适用于扫地机、门锁和 IPC 等。
pod 'ThingSmartP2PKitBizBundle'
👉 立即免费领取开发资源,体验涂鸦 MiniApp 小程序开发。