iOS 海康威视sdk的集成

声明:作者声明此文章为原创,未经作者同意,请勿转载,若转载,务必注明本站出处,本平台保留追究侵权法律责任的权利。
全栈老韩
全栈工程师,擅长iOS App开发、前端(vue、react、nuxt、小程序&Taro)开发、Flutter、React Native、后端(midwayjs、golang、express、koa)开发、docker容器、seo优化等。

海康威视的设备网络iOS sdk 集成记录

下载地址(海康提供的硬件产品下载地址):https://open.hikvision.com/download/5cda567cf47ae80dd41a54b3?type=10&id=5cda5902f47ae80dd41a54b7

如图所示,直接点击“立即下载”的按钮可以下载sdk,查看开发指南也是下载的pdf版使用手册。

下载下来的文件结构:

接入步骤

  1. 首先在SimpleDemo中,用Xcode运行一下,确保demo是可以正常运行的。正常情况下,demo是可以正常run起来的。至少我写这篇文章时的版本是正常运行的。
  2. 需要注意demo中的几个配置的点:
  • 当前版本的海康威视sdk的demo,使用的是mrc,而不是arc。通过在build setetings中搜索counting来搜索引用计数的配置项:
    海康威视iOS demo 截图
    从截图中可以看出,配置项Objective-C Automatic Reference CountingNO

  • SimpleDemoViewController文件是.mm文件

    所以这里面使用一些C、C++的代码。
    那么当你集成海康威视的sdk时,切记在使用C、C++代码的时候,需要使用.mm的扩展文件名。

  1. 海康威视的开发文档中,并没有明确说明在引入他们的静态库和文件时,需要link那些library,但是在demo中,是可以从build phrases中的link binary with libraries选项中得到需要add的一些库。

    切记:在导入sdk的静态库、动态库、文件到项目中后,一定要在link binary with libraries选项中添加demo中所示的library,否则编译肯定会各种报错。
  2. 按照上述的步骤,是可以正常集成海康的sdk的。

接下来会说明异常情况。

其他场景

  1. 当下基本大多数的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,如下截图:
-fno-objc-arc
通过这种方式,使编译该文件时使用手动引用计数。

如果有其他异常情况,欢迎一起讨论。

暂无评论,快来发表第一条评论吧