更新时间:2023-05-22 06:38:30下载pdf
iOS 版 IPC SDK 依赖 智能生活 App SDK 中用户管理、设备配网、家庭管理、设备管理等部分,在此基础上实现了智能摄像机设备的功能。
SDK 最低支持系统版本 9.0。开发 App 时,IPC 设备不支持云开发方案,您需要同时使用 IPC SDK 和智能生活 App SDK。
模块 | 说明 |
---|---|
TuyaSmartActivatorKit | 设备配网 SDK |
TuyaSmartCameraKit | 涂鸦智能摄像机垂直化功能 SDK |
TuyaSmartCameraKit
不只是一个单独的库,还会依赖到其他基础功能支撑的库,请参考 SDK 架构。
在 Podfile
文件中添加以下内容:
platform :ios, '9.0'
target 'your_target_name' do
pod "TuyaSmartActivatorKit"
pod "TuyaSmartCameraKit"
# pod "TuyaSmartCameraT"
end
如果您需要支持 P2P 1.0 的设备,需要增加 pod "TuyaSmartCameraT"
, 然后在项目根目录下执行 pod update
命令。CocoaPods 的使用,请参考 CocoaPods 官方文档。
IPC SDK 需要使用到相册访问权限和麦克风使用权限,请确保您的项目中添加了下面两个权限的使用说明,否则在录制视频、截图、或者视频对讲时,会造成 App 崩溃。
// 需要在info.plist 文件中添加以下权限
Privacy - Microphone Usage Description
Privacy - Photo Library Additions Usage Description
根据 Target > General 打开项目设置,修改 Bundle Identifier
为您在 涂鸦 IoT 平台 上注册的 App 对应的 iOS 包名。
将 准备工作 中下载的安全图片导入到工程根目录,重命名为 t_s.bmp
,并加入 项目设置 > Target > Build Phases > Copy Bundle Resources 中。
在项目的 PrefixHeader.pch
文件添加以下内容(Swift 项目可以添加在 xxx_Bridging-Header.h
桥接文件中)。
#import <TuyaSmartBaseKit/TuyaSmartBaseKit.h>
#import <TuyaSmartActivatorKit/TuyaSmartActivatorKit.h>
#import <TuyaSmartCameraKit/TuyaSmartCameraKit.h>
打开 AppDelegate.m
文件,在 [AppDelegate application:didFinishLaunchingWithOptions:]
方法中,使用在涂鸦 IoT 平台上,App 对应的 App Key
,App Secret
初始化 SDK。
Objective-C:
[[TuyaSmartSDK sharedInstance] startWithAppKey:<#your_app_key#> secretKey:<#your_secret_key#>];
Swift:
TuyaSmartSDK.sharedInstance()?.start(withAppKey: <#your_app_key#>, secretKey: <#your_secret_key#>)
至此,IPC SDK 已经成功激活,您可以开始 App 开发了。
视频出流成功后,将 App 退到后台,停留一段时间再回前台,可能会造成 App 崩溃,错误原因为 Terminated due to signal 13
。为了防止该崩溃的发生,请在项目中添加以下代码:
Objective-C:main.m
int main(int argc, char * argv[]) {
@autoreleasepool {
struct sigaction sa;
sa.sa_handler = SIG_IGN;
sigemptyset(&sa.sa_mask);
sa.sa_flags = 0;
if (sigaction(SIGPIPE, &sa, NULL) < 0) {
perror("cannot ignore SIGPIPE");
return -1;
}
return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]));
}
}
Swift:AppDelegate.swift
let handler: @convention(c) (Int32) -> () = { sig in
// handle the signal somehow
print("error", sig)
}
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
// Override point for customization after application launch.
signal(SIGPIPE, handler)
return true
}
在开发的过程中可以开启 Debug 模式,打印一些日志用于分析问题。
Objective-C:
#ifdef DEBUG
[[TuyaSmartSDK sharedInstance] setDebugMode:YES];
#else
#endif
Swift:
#if DEBUG
TuyaSmartSDK.sharedInstance()?.debugMode = true
#else
#endif
在开发过程中,涂鸦建议您使用真机调试。如果使用模拟器调试,可能导致部分功能无法正常使用。
请访问 IPC SDK Demo 仓库 获取 Demo App。然后参考 智能生活 App SDK Demo App 的配置方法,将 BundleId
、 AppKey
、AppSecret
、安全图片配置正确。
IPC SDK Demo App 在智能生活 App SDK Demo App 的功能基础上,增加了 IPC 设备的控制面板模块。
直播页面:IPC 设备的 P2P 连接流程,包含实时视频播放,视频录制、截图、对讲等功能。
回放页面:设备存储卡中视频片段的获取与播放,时间轴组件的使用。
云存储页面:云存储服务的开通、状态判断、云存储视频和云存储事件的获取与播放。
消息页面:告警事件的获取与展示。
设置页面:IPC 标准设备功能的使用。
该内容对您有帮助吗?
是意见反馈该内容对您有帮助吗?
是意见反馈