搭建环境 - iOS

1. 兼容性

支持iOS 7.0 及以上系统。支持的指令集armv7、armv7s、arm64。

2. 开发环境搭建

支持7.0以上版本的xcode,请到苹果官方网站https://developer.apple.com/xcode/ 下载。

3. 引入SDK文件以及工程设置

首先将灵云SDK提供的头文件(.h)和静态库(.a)文件拷贝到您的工程目录下,并在工程中引入灵云SDK提供的头文件和静态库文件。 灵云SDK提供的静态库文件包括了模拟器和真机两种环境下所使用的静态库文件,已经合并为一个通用的.a文件, 因此只需将通用.a文件拖拽至工程中即可。

具体需要引入的文件和开发者所需要使用的能力有关。 SDK会尝试统计用户位置信息数据,因此需要在开发工程中引入CoreLocation.framework,并在工程中添加位置权限相关说明。

工程设置:

  • Build Settings选项中的C++ Standard Library 选择成“libstdc++(GNU C++ standard library)”

3.1 ASR能力

3.1.1 基础API

灵云SDK头文件:

  • hci_asr.h
  • hci_sys.h

灵云SDK库文件:

  • 必选模块
  • libcurl_device_simulator_iOS5.1.1.a
  • libhci_sys_device_simulator_iOS5.1.1.a
  • libhci_asr_device_simulator_iOS5.1.1.a
  • 云端识别
  • libhci_asr_cloud_recog_device_simulator_iOS5.1.1.a
  • libjtopus_device_simulator_iOS5.1.1.a
  • libjtspeex_device_simulator_iOS5.1.1.a
  • 本地语法识别
  • libhci_asr_local_recog_device_simulator_iOS5.1.1.a
  • 本地自由说识别
  • libhci_asr_local_ft_recog_device_simulator_iOS5.1.1.a
  • 适配器选择(只选其一)
  • libhci_asr_only_cloud_adapter_device_simulator_iOS5.1.1.a(只使用云端识别)
  • libhci_asr_only_local_adapter_device_simulator_iOS5.1.1.a(只使用本地语法识别)
  • libhci_asr_only_local_ft_adapter_device_simulator_iOS5.1.1.a(只使用本地自由说识别)
  • libhci_asr_cloud_local_adapter_device_simulator_iOS5.1.1.a(既使用云端识别,又使用本地语法识别)
  • 本地意图识别
  • libhci_nlu_device_simulator_iOS5.1.1.a
  • libhci_nlu_local_recog_device_simulator_iOS5.1.1.a

iOS系统库文件:

  • UIKit.framework
  • Foundation.framework
  • libstdc++.dylib
  • CoreLocation.framework
  • SystemConfiguration.framework
  • Accelerate.framework

本地资源文件:

  • 使用本地语音识别能力,需要相应的资源文件。具体可参照ASR能力描述进行选择。

3.1.2 ASR录音机

如果使用ASR录音机,在上述基础API所依赖的文件外,还需要增加下列文件

灵云SDK头文件:

  • hci_asr_recorder.h

灵云SDK库文件:

  • libhci_asr_recorder_device_simulator_iOS5.1.1.a

iOS系统库文件:

  • AudioToolbox.framework
  • AVFoundation.framework

3.2 TTS能力

3.2.1 基础API

灵云SDK头文件:

  • hci_tts.h
  • hci_sys.h

灵云SDK库文件:

  • 必选模块
  • libcurl_device_simulator_iOS5.1.1.a
  • libhci_sys_device_simulator_iOS5.1.1.a
  • libhci_tts_device_simulator_iOS5.1.1.a
  • 使用云端TTS能力
  • libhci_tts_cloud_synth_device_simulator_iOS5.1.1.a
  • libjtopus_device_simulator_iOS5.1.1.a 或者 libjtspeex_device_simulator_iOS5.1.1.a (根据所使用的编解码格式进行选择)
  • 使用本地通用TTS能力
  • libhci_tts_local_synth_device_simulator_iOS5.1.1.a
  • 使用本地歌唱TTS能力
  • libhci_tts_local_synth_sing_device_simulator_iOS5.1.1.a
  • 适配器选择(只选其一)
  • libhci_tts_only_cloud_adapter_device_simulator_iOS5.1.1.a(只使用云端能力)
  • libhci_tts_only_local_adapter_device_simulator_iOS5.1.1.a(只使用本地通用TTS能力)
  • libhci_tts_only_local_sing_adapter_device_simulator_iOS5.1.1.a(只使用本地歌唱TTS能力)
  • libhci_tts_cloud_local_adapter_device_simulator_iOS5.1.1.a(既使用云端能力,又使用本地能力)

iOS系统库文件:

  • UIKit.framework
  • Foundation.framework
  • libstdc++.dylib
  • CoreLocation.framework
  • SystemConfiguration.framework

本地资源文件:

  • 使用本地语音合成能力,需要相应的资源文件。具体可参照TTS能力描述进行选择。

3.2.2 TTS播放器

如果使用TTS播放器,在上述基础API所依赖的文件外,还需要增加下列文件

灵云SDK头文件:

  • hci_tts_player.h

灵云SDK库文件:

  • libhci_tts_player_device_simulator_iOS5.1.1.a

iOS系统库文件:

  • AudioToolbox.framework

3.3 HWR能力

灵云SDK头文件:

  • hci_hwr.h
  • hci_sys.h

灵云SDK库文件:

  • 必选模块
  • libcurl_device_simulator_iOS5.1.1.a
  • libhci_sys_device_simulator_iOS5.1.1.a
  • libhci_hwr_device_simulator_iOS5.1.1.a
  • 云端识别
  • libhci_hwr_cloud_recog_device_simulator_iOS5.1.1.a
  • 本地识别
  • libhci_hwr_local_recog_device_simulator_iOS5.1.1.a
  • 联想和笔形
  • libhci_hwr_funcs_device_simulator_iOS5.1.1.a
  • 适配器选择(只选其一)
  • libhci_hwr_only_cloud_adapter_device_simulator_iOS5.1.1.a(只使用云端识别)
  • libhci_hwr_only_local_adapter_device_simulator_iOS5.1.1.a(只使用本地识别)
  • libhci_hwr_only_funcs_adapter_device_simulator_iOS5.1.1.a(只使用联想和笔形)
  • libhci_hwr_cloud_local_adapter_device_simulator_iOS5.1.1.a(既使用云端识别,又使用本地识别)
  • libhci_hwr_local_funcs_adapter_device_simulator_iOS5.1.1.a (既使用本地识别,又使用联想和笔形)
  • libhci_hwr_cloud_funcs_adapter_device_simulator_iOS5.1.1.a (既使用云端识别,又使用联想和笔形)
  • libhci_hwr_cloud_local_funcs_adapter_device_simulator_iOS5.1.1.a(使用云端识别,本地识别,同时又使用联想和笔形)

iOS系统库文件:

  • UIKit.framework
  • Foundation.framework
  • libstdc++.dylib
  • CoreLocation.framework
  • SystemConfiguration.framework

本地资源文件:

  • 使用本地手写识别能力,需要相应的资源文件。具体可参照HWR能力描述进行选择。

3.4 OCR能力

3.4.1 基础API 灵云SDK头文件:

  • hci_ocr.h
  • hci_sys.h

灵云SDK库文件:

  • 必选模块
  • libjtz_device_simulator_iOS5.1.1.a
  • libcurl_device_simulator_iOS5.1.1.a
  • libhci_sys_device_simulator_iOS5.1.1.a
  • libhci_ocr_device_simulator_iOS5.1.1.a
  • 云端识别
  • libhci_ocr_cloud_recog_device_simulator_iOS5.1.1.a
  • 本地识别
  • libhci_ocr_local_recog_device_simulator_iOS5.1.1.a
  • 本地模板识别
  • libhci_ocr_local_recog_template_device_simulator_iOS5.1.1.a
  • 本地名片识别
  • libhci_ocr_local_recog_bizcard_device_simulator_iOS5.1.1.a
  • 本地银行卡识别
  • libhci_ocr_local_recog_bankcard_device_simulator_iOS5.1.1.a
  • 适配器选择(只选其一)
  • libhci_ocr_only_cloud_adapter_device_simulator_iOS5.1.1.a(只使用云端识别)
  • libhci_ocr_only_local_adapter_device_simulator_iOS5.1.1.a(只使用本地识别)
  • libhci_ocr_cloud_local_adapter_device_simulator_iOS5.1.1.a (既使用云端识别,又使用本地识别)
  • libhci_ocr_only_local_template_adapter_device_simulator_iOS5.1.1.a (只使用模板识别)
  • libhci_ocr_only_local_bizcard_adapter_device_simulator_iOS5.1.1.a (只使用名片识别)
  • libhci_ocr_only_local_bankcard_adapter_device_simulator_iOS5.1.1.a (只使用银行卡识别)

iOS系统库文件:

  • Accelerate.framework
  • UIKit.framework
  • Foundation.framework
  • libstdc++.dylib
  • libz.dylib
  • libc++.dylib
  • CoreLocation.framework
  • SystemConfiguration.framework

本地资源文件:

  • 使用本地光学字符识别能力,需要相应的资源文件。具体可参照OCR能力描述进行选择。

3.4.2 OCR拍图器

如果使用OCR拍图器,在上述基础API所依赖的文件外,还需要增加下列文件

灵云SDK头文件:

  • hci_ocr_capture.h

灵云SDK库文件:

  • libhci_ocr_capture_device_simulator_iOS5.1.1.a

iOS系统库文件:

  • CoreVideo.framework
  • AVFoundation.framework
  • CoreMedia.framework
  • CoreGraphics.framework

3.5 MT能力

灵云SDK头文件:

  • hci_mt.h
  • hci_sys.h

灵云SDK库文件:

  • 必选模块
  • libcurl_device_simulator_iOS5.1.1.a
  • libhci_sys_device_simulator_iOS5.1.1.a
  • libhci_mt_device_simulator_iOS5.1.1.a
  • 云端识别
  • libhci_mt_cloud_trans_device_simulator_iOS5.1.1.a
  • 本地识别(暂不支持)
  • libhci_mt_local_trans_device_simulator_iOS5.1.1.a
  • 适配器选择(只选其一)
  • libhci_mt_only_cloud_adapter_device_simulator_iOS5.1.1.a(只使用云端识别)
  • libhci_mt_only_local_adapter_device_simulator_iOS5.1.1.a(只使用本地识别)
  • libhci_mt_cloud_local_adapter_device_simulator_iOS5.1.1.a (既使用云端识别,又使用本地识别)

iOS系统库文件:

  • UIKit.framework
  • Foundation.framework
  • libstdc++.dylib
  • CoreLocation.framework
  • SystemConfiguration.framework

3.6 NLU能力

灵云SDK头文件:

  • hci_nlu.h
  • hci_sys.h

灵云SDK库文件:

  • 必选模块
  • libcurl_device_simulator_iOS5.1.1.a
  • libhci_sys_device_simulator_iOS5.1.1.a
  • libhci_nlu_device_simulator_iOS5.1.1.a
  • 云端识别
  • libhci_nlu_cloud_recog_device_simulator_iOS5.1.1.a
  • 本地识别
  • libhci_nlu_local_recog_device_simulator_iOS5.1.1.a
  • 适配器选择(只选其一)
  • libhci_nlu_only_cloud_adapter_device_simulator_iOS5.1.1.a(只使用云端识别)
  • libhci_nlu_only_local_adapter_device_simulator_iOS5.1.1.a(只使用本地识别)
  • libhci_nlu_cloud_local_adapter_device_simulator_iOS5.1.1.a (既使用云端识别,又使用本地识别)

iOS系统库文件:

  • UIKit.framework
  • Foundation.framework
  • libstdc++.dylib
  • CoreLocation.framework
  • SystemConfiguration.framework

3.7 KB能力

灵云SDK头文件:

  • hci_kb.h
  • hci_sys.h

灵云SDK库文件:

  • 必选模块
  • libcurl_device_simulator_iOS5.1.1.a
  • libhci_sys_device_simulator_iOS5.1.1.a
  • libhci_kb_device_simulator_iOS5.1.1.a
  • 云端识别(暂不支持)
  • libhci_kb_cloud_recog_device_simulator_iOS5.1.1.a
  • 本地识别
  • libhci_kb_local_recog_device_simulator_iOS5.1.1.a
  • 适配器选择(只选其一)
  • libhci_kb_only_cloud_adapter_device_simulator_iOS5.1.1.a(只使用云端识别)
  • libhci_kb_only_local_adapter_device_simulator_iOS5.1.1.a(只使用本地识别)
  • libhci_kb_cloud_local_adapter_device_simulator_iOS5.1.1.a (既使用云端识别,又使用本地识别)

iOS系统库文件:

  • UIKit.framework
  • Foundation.framework
  • libstdc++.dylib
  • CoreLocation.framework
  • SystemConfiguration.framework

3.8 VPR能力

灵云SDK头文件:

  • hci_vpr.h
  • hci_sys.h

灵云SDK库文件:

  • 必选模块
  • libcurl_device_simulator_iOS5.1.1.a
  • libhci_sys_device_simulator_iOS5.1.1.a
  • libhci_vpr_device_simulator_iOS5.1.1.a
  • 云端识别
  • libhci_vpr_cloud_recog_device_simulator_iOS5.1.1.a
  • libjtopus_device_simulator_iOS5.1.1.a
  • libjtspeex_device_simulator_iOS5.1.1.a
  • 本地识别(暂不支持)
  • libhci_vpr_local_recog_device_simulator_iOS5.1.1.a
  • 适配器选择(只选其一)
  • libhci_vpr_only_cloud_adapter_device_simulator_iOS5.1.1.a(只使用云端识别)
  • libhci_vpr_only_local_adapter_device_simulator_iOS5.1.1.a(只使用本地识别)
  • libhci_vpr_cloud_local_adapter_device_simulator_iOS5.1.1.a(既使用云端识别,又使用本地识别)

iOS系统库文件:

  • Accelerate.framework
  • UIKit.framework
  • Foundation.framework
  • libstdc++.dylib
  • CoreLocation.framework
  • SystemConfiguration.framework

3.9 FPR能力

灵云SDK头文件:

  • hci_fpr.h
  • hci_sys.h

灵云SDK库文件:

  • 必选模块
  • libcurl_device_simulator_iOS5.1.1.a
  • libhci_sys_device_simulator_iOS5.1.1.a
  • libhci_fpr_device_simulator_iOS5.1.1.a
  • 云端识别
  • libhci_fpr_cloud_recog_device_simulator_iOS5.1.1.a
  • 本地识别
  • libhci_fpr_local_recog_device_simulator_iOS5.1.1.a
  • 适配器选择(只选其一)
  • libhci_fpr_only_cloud_adapter_device_simulator_iOS5.1.1.a(只使用云端识别)
  • libhci_fpr_only_local_adapter_device_simulator_iOS5.1.1.a(只使用本地识别)
  • libhci_fpr_cloud_local_adapter_device_simulator_iOS5.1.1.a(既使用云端识别,又使用本地识别)

iOS系统库文件:

  • libc++.tbd
  • UIKit.framework
  • Foundation.framework
  • libstdc++.dylib
  • CoreLocation.framework
  • SystemConfiguration.framework

3.10 AFR能力

灵云SDK头文件:

  • hci_afr.h
  • hci_sys.h

灵云SDK库文件:

  • 必选模块
  • libcurl_device_simulator_iOS5.1.1.a
  • libhci_sys_device_simulator_iOS5.1.1.a
  • libhci_afr_device_simulator_iOS5.1.1.a
  • 云端识别
  • libhci_afr_cloud_recog_device_simulator_iOS5.1.1.a
  • 本地识别
  • libhci_afr_local_recog_device_simulator_iOS5.1.1.a
  • 适配器选择(只选其一)
  • libhci_afr_only_cloud_adapter_device_simulator_iOS5.1.1.a(只使用云端识别)
  • libhci_afr_only_local_adapter_device_simulator_iOS5.1.1.a(只使用本地识别)
  • libhci_afr_cloud_local_adapter_device_simulator_iOS5.1.1.a(既使用云端识别,又使用本地识别)

iOS系统库文件:

  • Accelerate.framework
  • libc++.tbd
  • UIKit.framework
  • Foundation.framework
  • libstdc++.dylib
  • CoreLocation.framework
  • SystemConfiguration.framework

3.11 注意

  • libjtopus_device_simulator_iOS5.1.1.a是opus编码库,libjtspeex_device_simulator_iOS5.1.1.a是speex编码库,仅在使用云端ASR、TTS或者VPR时候用于音频压缩。 应用可以根据需要的编码方式(请参见音频编解码库),选择其中合适的编码库,这样可以减少应用包的大小.

4. 本地资源文件

当使用本地能力时,需要在本地存放资源文件,并在能力初始化时通过指定dataPath告知资源所在路径。

每种本地能力,所需要的资源文件并不相同,在实际使用时,可以只拷贝所使用能力对应的资源文件, 这样可以减少所占用的外部存储空间。具体每种本地能力所需要的本地资源文件,请参见能力列表。