设备控制(本地资源值/UI非源码提供的方式)
本SDK包含Aqara设备控制的UI和逻辑部分; SDK依赖的iOS版本 不能低于15.1
编译器环境: XCode14.0 以上版本
语言:Object-C / Swift
依赖SDK列表
支持设备控制基础功能需要依赖以下SDK:
| 名称 | 版本 | 功能 | 大小 |
|---|---|---|---|
| LMSDKDeviceRouter | - | 设备页面统一跳转路由(推荐),根据设备接入类型自动路由到对应控制页 | |
| LMMeshDriverFramework | - | 设备控制的逻辑部分,控制指令下/接收/处理 | |
| LMMeshDriver_UI | - | 设备控制的UI部分,包括设置页和设备首页 | |
| LMRnFramework | - | RN 插件运行时,支持 RN 类设备控制 | |
| LMFirmwareUpgradeFramework | - | 设备 OTA 固件升级 | |
| LMCommonUI | - | Aqara 通用UI组件库 | |
| LMCommonUISwift | - | Aqara Swift UI 组件库 | |
| LMFramework | - | Aqara基础库,封装了Aqara通用的逻辑 | |
| LMSwiftCore | - | Swift 基础库 | |
| LMSwiftNetwork | - | Swift 网络库 | |
| LMDataStorageFramework | - | 数据存储框架 | |
| LMLog | - | 日志框架 | |
| LMNewSensorsAnalytics | - | 数据埋点 |
pod依赖
Pod 集成方式及第三方依赖请参见环境搭建中的完整 Podfile。设备控制相关需至少集成以下 Aqara SDK:
pod 'LMFramework'
pod 'LMCommonUI'
pod 'LMCommonUISwift'
pod 'LMSwiftCore'
pod 'LMSwiftNetwork'
pod 'LMDataStorageFramework'
pod 'LMLog'
pod 'LMNewSensorsAnalytics'
pod 'LMFirmwareUpgradeFramework'
pod 'LMMeshDriverFramework'
pod 'LMMeshDriver_UI'
pod 'LMRnFramework'
pod 'LMSDKDeviceRouter'
集成SDK
建议用以下目录结构导入对应的SDK:

SDK初始化及API说明
SDK 统一初始化请通过 LMOpenSDK 完成,各参数获取方式详见环境搭建。
统一初始化
#import <LMFramework/LMFramework.h>
[LMOpenSDK setAppChannel:@"Your AppChannel"];
[LMOpenSDK setAppGroupId:@"Your AppGroupId"];
LMRegionModel *regionModel = [[LMRegionModel alloc] init];
regionModel.appId = @"Your appId";
regionModel.appKey = @"Your appKey";
regionModel.supportDeviceArea = @"Your SupportDeviceArea";
regionModel.serverCode = @"Your ServerCode";
regionModel.countryCode = @"Your CountryCode";
regionModel.server = @"Your Server";
regionModel.coapServer = @"Your CoapServer";
regionModel.staticsResPrefix = @"Your StaticsResPrefix";
regionModel.appImgPrefix = @"Your AppImgPrefix";
[LMOpenSDK setRegionModel:regionModel];
[LMOpenSDK setH5UrlPrefix:@"Your H5UrlPrefix"];
[LMOpenSDK setLanguage:@"zh-Hans"];
[LMOpenSDK setUserId:@"Your UserId" token:@"Your AccessToken"];
LMRegionModel 参数说明
| 参数 | 说明 | 是否必需 | 来源 |
|---|---|---|---|
| appId | 开放平台颁发的身份 ID | 是 | 开放平台 |
| appKey | 开放平台颁发的身份 Key | 是 | 开放平台 |
| supportDeviceArea | 设备入网地区 | 是 | 开放平台 |
| serverCode | 服务器地区码 | 是 | 开放平台 |
| countryCode | 国家码 | 是 | 开放平台 |
| server | 请求域名 host | 是 | 开放平台 |
| coapServer | 设备接入服务器地址 | 是 | 开放平台 |
| staticsResPrefix | 静态资源路径 | 是 | 开放平台 |
| appImgPrefix | 配网 UI 层 CDN 图片路径 | 是 | 开放平台 |
| h5UrlPrefix | SDK 内 H5 资源路径 | 否 | 开放平台 |
| userId | 当前用户账号 ID | 是 | 开放平台 |
| token | 当前用户账号令牌 | 是 | 开放平台 |
旧版
setServer:appId:appKey:iconBaseUrl:等接口已废弃,请统一使用setRegionModel:方式初始化。
设置语言
| 参数 | 说明 |
|---|---|
| zh-Hans | 中文 |
| en | 英文 |
| ru | 俄文 |
| ko | 韩文 |
| zh-HK | 繁体 |
| zh-Hant-TW | 台湾-繁体 |
读取本地资源包
[LMDriverConfig sharedInstance].isLocalResource(YES);
设备页面跳转(推荐)
重要: 设备页面跳转请使用
LMSDKDeviceRouter统一接口,不再推荐直接调用各垂直品类 SDK 的跳转方法。详细用法参见设备控制SDK使用。
集成 LMSDKDeviceRouter 后,跳转设备控制首页示例:
#import <LMSDKDeviceRouter/LMSDKDeviceRouter.h>
[LMSDKDeviceRouter pushToDeviceControlPageWithDevice:device
navigationController:self.navigationController
animated:YES
completion:nil];