更新时间:2022-03-03 07:30:36下载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 Guides。
IPC SDK 需要使用到相册访问权限和麦克风使用权限,请确保您的项目中添加了下面两个权限的使用说明,否则在录制/截图和对讲时,会造成 App 崩溃。
// 需要在info.plist 文件中添加以下权限
Privacy - Microphone Usage Description
Privacy - Photo Library Additions Usage Description
打开项目设置,Target => General,修改Bundle Identifier
为涂鸦开发者平台上注册的 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:]
方法中,使用在涂鸦开发者平台上,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#>)
至此,涂鸦智能 App 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
在开发过程中,涂鸦建议您使用真机调试。如果使用模拟器调试,可能导致部分功能无法正常使用。
Demo App 请访问 IPC SDK Demo 仓库。参考 智能生活App SDK Demo App 的简介,将 BundleId
、 AppKey
、AppSecret
、安全图片配置正确。
IPC SDK Demo App 在智能生活 App SDK Demo App 的功能基础上,增加了 IPC 设备的控制面板模块。
直播页面:IPC 设备的 P2P 连接流程,实时视频播放,视频录制、截图、对讲等功能。
回放页面:设备存储卡中视频片段的获取与播放,时间轴组件的使用。
云存储页面:云存储服务的开通,状态判断,云存储视频和云存储事件的获取与播放。
消息页面:告警事件的获取与展示。
设置页面:IPC 设备标准 DP 功能点的使用。
该内容对您有帮助吗?
是意见反馈该内容对您有帮助吗?
是意见反馈