Вопрос по speech-recognition, ios – Неопределенные символы для архитектуры armv7 при интеграции речевого набора nuance dragon mobile

9

Я интегрирую свое приложение с речевым набором naunce dragon mobile, когда я запущен. Я нахожусь ниже ошибки:

Undefined symbols for architecture armv7:
  "_kCFStreamPropertySSLPeerCertificates", referenced from:
      l469 in SpeechKit(libSpeechKit.a-armv7-master.o)
      l642 in SpeechKit(libSpeechKit.a-armv7-master.o)
      l643 in SpeechKit(libSpeechKit.a-armv7-master.o)
  "_kCFStreamSSLValidatesCertificateChain", referenced from:
      l469 in SpeechKit(libSpeechKit.a-armv7-master.o)
  "_kCFStreamSSLAllowsAnyRoot", referenced from:
      l469 in SpeechKit(libSpeechKit.a-armv7-master.o)
  "_OBJC_CLASS_$_AVAudioPlayer", referenced from:
      objc-class-ref in SpeechKit(libSpeechKit.a-armv7-master.o)
  "_kCFStreamSSLPeerName", referenced from:
      l469 in SpeechKit(libSpeechKit.a-armv7-master.o)
  "_kCFStreamSSLAllowsExpiredRoots", referenced from:
      l469 in SpeechKit(libSpeechKit.a-armv7-master.o)
  "_kCFStreamSSLAllowsExpiredCertificates", referenced from:
      l469 in SpeechKit(libSpeechKit.a-armv7-master.o)
  "_SecCertificateCopySubjectSummary", referenced from:
      l642 in SpeechKit(libSpeechKit.a-armv7-master.o)
  "_SecCertificateCopyData", referenced from:
      l643 in SpeechKit(libSpeechKit.a-armv7-master.o)
  "_kCFStreamPropertySSLSettings", referenced from:
      l469 in SpeechKit(libSpeechKit.a-armv7-master.o)
ld: symbol(s) not found for architecture armv7
clang: error: linker command failed with exit code 1 (use -v to see invocation)

Пожалуйста, предложите мне разобраться с этой ошибкой

Ваш Ответ

2   ответа
48

CFNetwork.Framework, SystemConfiguration.Framework а такжеSecurity.Framework к вашему проекту. Добавьте их в Xcode в & quot; библиотеки для ссылки & quot; раздел, и все должно быть хорошо.

Как ты это узнал?
@ Привет, я волшебник :) Просто:symbols not found является ошибкой компоновщика - это означает, что после компиляции отдельных исходных файлов результирующие объектные файлы не могут быть связаны друг с другом в полный исполняемый файл, поскольку отсутствуют функции. Эти функции находятся в рамках. Зная наизусть префиксы наиболее распространенных фреймворков (CoreFoundation - CF, Security - Sec и т. Д.), Легко определить, что нужно делать.
Наткнулся на это, когда AFNetworking cocoapod не собирался - пришлось добавить Security.framework. хороший ответ.
Большое спасибо за объяснение о префиксах фреймворка; Всегда приятно узнать что-то еще, чтобы решить проблему. :]
6

H2C03 близок, но это на самом деле CFNetwork.Framework и Security.framework, что вам нужно.

К сожалению, пошаговое руководство по Основам речевого набора в документах Dragon показывает, что вам нужны UIKit.framework, Foundation.framework, CoreGraphics.framework, AudioToolbox.framework, SystemConfiguration.framework и SpeechKit.framework. Это немного вводит в заблуждение.

Если вы откроете пример проекта DragonMobileRecognizer, вы сможете сравнить используемые им фреймворки и увидеть, чего вам не хватает.

DragonMobileRecognizer Sample Project Frameworks

Похожие вопросы