海康威视的设备网络iOS sdk 集成记录
下载地址(海康提供的硬件产品下载地址):https://open.hikvision.com/download/5cda567cf47ae80dd41a54b3?type=10&id=5cda5902f47ae80dd41a54b7

如图所示,直接点击“立即下载”的按钮可以下载sdk,查看开发指南也是下载的pdf版使用手册。
下载下来的文件结构:
接入步骤
- 首先在
SimpleDemo
中,用Xcode运行一下,确保demo是可以正常运行的。正常情况下,demo是可以正常run起来的。至少我写这篇文章时的版本是正常运行的。 - 需要注意demo中的几个配置的点:
-
当前版本的海康威视sdk的demo,使用的是
mrc
,而不是arc
。通过在build setetings中搜索counting
来搜索引用计数的配置项:
从截图中可以看出,配置项Objective-C Automatic Reference Counting
是NO
。 -
SimpleDemoViewController文件是
.mm
文件
所以这里面使用一些C、C++的代码。
那么当你集成海康威视的sdk时,切记在使用C、C++代码的时候,需要使用.mm的扩展文件名。
- 海康威视的开发文档中,并没有明确说明在引入他们的静态库和文件时,需要link那些library,但是在demo中,是可以从
build phrases
中的link binary with libraries
选项中得到需要add的一些库。
切记:在导入sdk的静态库、动态库、文件到项目中后,一定要在link binary with libraries
选项中添加demo中所示的library,否则编译肯定会各种报错。 - 按照上述的步骤,是可以正常集成海康的sdk的。
接下来会说明异常情况。
其他场景
- 当下基本大多数的iOS工程都是
arc
的,而不是mrc
,如何在arc
工程中集成mrc
的第三方库?
在arc出现之前,至少在我的记忆中,iOS7出现之前,接触的基本都是mrc的工程。
把sdk中的静态库、动态库、文件引入工程后,也引入了link的library后,可以先尝试进行编译,看具体报错。
出现错误大概就是'release' is unavailable: not available in automatic reference counting mode
查看编译报错的所在文件,在build prases
配置中的Compile Sources
下,找到报这个错误的文件,双击配置一下-fno-objc-arc
,如下截图:
通过这种方式,使编译该文件时使用手动引用计数。
如果有其他异常情况,欢迎一起讨论。