更新时间:2023-05-25 06:23:47
Cocoapods 组件 | 说明 | 是否必选 |
---|---|---|
ThingSmartBizCore | 业务基础处理库,用于启动业务包以及自定义一些功能 | 必选 |
ThingModuleServices | 业务包模块实现的协议 | 必选 |
ThingSmartXXXBizBundle | 各种业务包实现组件 | 可选 |
ThingSmartBizCore
和 ThingModuleServices
是使用业务包必须要依赖的基础库。
提供启动业务包以及自定义配置功能。
主题色及自定义配置功能
该部分的配置,需要客户按照如下方式生成一份名为 thing_custom_config.json
的文件放入工程目录下:
{
"config": {
"appId": 123,
"thingAppKey": "xxxxxxxxxxxx",
"appScheme": "ThingSmart",
"hotspotPrefixs": ["SmartLife"],
"needBle": true
},
"colors":{
"themeColor": "#FF5A28",
}
}
参数介绍
参数 | 说明 | 类型 | 必选 | 默认值 |
---|---|---|---|---|
appId | 应用 ID,在涂鸦 IoT 平台进入您的应用/SDK管理页面。应用页面 URL 中的 ID 参数即为 appId,例如链接为 https://iot.tuya.com/oem/app?id=888888 则 appId 为 888888 |
Number | 是 | 无 |
thingAppKey | 涂鸦 IoT 平台 中对应 SDK 中的 AppKey | String | 是 | 无 |
appScheme | 涂鸦 IoT 平台 中对应 SDK 中的 渠道标识符 | String | 是 | 无 |
hotspotPrefixs | 配网设备热点前缀 | Array | 否 | [“SmartLife”] |
needBle | 是否需要支持蓝牙设备配网 | Boolean | 否 | true |
themeColor | UI 主题色设置 | String | 否 | #FF5A28 |
接口介绍
业务包基础库,提供业务包调用的入口方法,同时也提供了您需要实现协议服务的注册方法。具体提供的方法如下:
/**
* Get the instance which implement the special service protocol
* eg:
* id<ThingMallProtocol> impl = [[ThingSmartBizCore sharedInstance] serviceOfProtocol:@protocol(ThingMallProtocol)];
* [impl xxx]; // your staff...
*
* @param serviceProtocol service protocol
* @return instance
*/
- (id)serviceOfProtocol:(Protocol *)service;
/**
* Register a instance for service which can not be served by BizBundle itself
* Each service can only register one instance or class at a time, whichever is the last
*
* @param service service protocol
* @param instance instance which conform to the service protocol, strong reference
* unregister if nil
*/
- (void)registerService:(Protocol *)service withInstance:(id)instance;
/**
* Register a class for service which can not be served by BizBundle itself
* Each service can only register one instance or class at a time, whichever is the last
*
*
* @param service service protocol
* @param cls class which conform to the service protocol, [cls new] to get instance
* unregister if nil
*/
- (void)registerService:(Protocol *)service withClass:(Class)cls;
/**
* Register route handler for route which can not be handled by BizBundle itself
* @param handler block to handle route
* @param url the route url
* @param raw the route raw data
* @return true if route can be handled, otherwise return false
*/
- (void)registerRouteWithHandler:(BOOL(^)(NSString *url, NSDictionary *raw))handler;
/**
* Update config of biz resource
*
*/
- (void)updateConfig;
账号登录成功后,务必调用- (void)updateConfig
接口更新必要的缓存数据,否则部分业务包将无法正常使用。
除设备控制UI业务包外,其余业务包均通过push方式进行内部跳转。因此请确保您的工程已设置了RootViewController
。
提供各个业务包实现的服务协议。
在 Podfile
文件中添加以下内容完成业务包核心库添加:
source 'https://github.com/tuya/tuya-pod-specs.git'
source 'https://cdn.cocoapods.org/'
platform :ios, '11.0'
target 'your_target_name' do
# 添加涂鸦智能生活 App SDK
pod "ThingSmartHomeKit"
# 若需要相关业务包功能,请添加相关业务库
pod "ThingSmartXXXBizBundle"
end
然后在项目根目录下执行 pod update
命令,集成第三方库。有关 CocoaPods 的使用,请参考 CocoaPods Guide。
填写业务包初始化需要的配置。
{
"config": {
"appId": 123,
"thingAppKey": "xxxxxxxxxxxx",
"appScheme": "ThingSmart"
},
"colors":{
"themeColor": "#FF5A28",
}
}
生成名为 thing_custom_config.json
的 json 文件,放到工程根目录下。
涂鸦业务包准备工作已经完成,可以开始业务包的使用。具体业务包的集成使用,请参考对应的业务包文档。
带 UI 业务包的多语言将会根据您的工程所支持的多语言来显示相对应的语言。如果您的工程不做多语言配置,则业务包 UI 以英文为默认语言显示。
该内容对您有帮助吗?
是意见反馈该内容对您有帮助吗?
是意见反馈