Неопределенные символы для архитектуры armv7 при добавлении CocoaAsyncSocket

Я пытаюсь использовать XMPPFramework с проектом iOS5 (ARC) под xcode 4.2.1, но я сталкиваюсь с этой проблемой. Как только я добавляю CocoaAsyncSocket в свой проект в рамках подготовки моего проекта к использованию XMPPFramework, как в1Я получаю следующую ошибку.

Я видел некоторых других людей, имеющих «неопределенные символы для архитектуры armv7» но я пока не нашел ответа на этот конкретный вопрос, который у меня есть на данный момент.

Я связался с CFNetwork и пометил GCDAsyncSocket.m как не-ARC (-fno-objc-arc), но я все еще получаю ошибку. Любая помощь приветствуется.

<code>Undefined symbols for architecture armv7:
  "_SSLGetBufferedReadSize", referenced from:
      ___33-[GCDAsyncSocket flushSSLBuffers]_block_invoke_0 in GCDAsyncSocket.o
      -[GCDAsyncSocket doReadData] in GCDAsyncSocket.o
  "_SSLSetIOFuncs", referenced from:
      -[GCDAsyncSocket ssl_startTLS] in GCDAsyncSocket.o
  "_SSLRead", referenced from:
      -[GCDAsyncSocket flushSSLBuffers] in GCDAsyncSocket.o
      -[GCDAsyncSocket doReadData] in GCDAsyncSocket.o
  "_SSLWrite", referenced from:
      -[GCDAsyncSocket doWriteData] in GCDAsyncSocket.o
  "_SSLClose", referenced from:
      -[GCDAsyncSocket closeWithError:] in GCDAsyncSocket.o
  "_SSLCreateContext", referenced from:
      -[GCDAsyncSocket ssl_startTLS] in GCDAsyncSocket.o
  "_SSLSetEnabledCiphers", referenced from:
      -[GCDAsyncSocket ssl_startTLS] in GCDAsyncSocket.o
  "_SSLSetCertificate", referenced from:
      -[GCDAsyncSocket ssl_startTLS] in GCDAsyncSocket.o
  "_SSLSetConnection", referenced from:
      -[GCDAsyncSocket ssl_startTLS] in GCDAsyncSocket.o
  "_SSLHandshake", referenced from:
      -[GCDAsyncSocket ssl_continueSSLHandshake] in GCDAsyncSocket.o
  "_SSLSetProtocolVersionMax", referenced from:
      -[GCDAsyncSocket ssl_startTLS] in GCDAsyncSocket.o
  "_SSLSetPeerDomainName", referenced from:
      -[GCDAsyncSocket ssl_startTLS] in GCDAsyncSocket.o
  "_SSLSetProtocolVersionMin", referenced from:
      -[GCDAsyncSocket ssl_startTLS] in GCDAsyncSocket.o
ld: symbol(s) not found for architecture armv7
clang: error: linker command failed with exit code 1 (use -v to see invocation)
</code>

Ответы на вопрос(1)

Решение Вопроса

Вам просто нужно добавить SecurityFramework в Frameworks. Я тоже встречал эту же проблему.

 07 дек. 2012 г., 13:00
+1 Это работает! Спасибо!
 21 мар. 2013 г., 17:01
Порядок важен: сначала CFNetwork.framework, а затем Security.framework; это делает мне 14 ошибок при компиляции, после этого исправления все ок.
 Future202008 апр. 2012 г., 18:15
Оно работает! Мне интересно, что нигде не было указано, что рамки безопасности также необходимы. Спасибо за Ваш ответ.
 21 мар. 2013 г., 17:20
Что касается моего последнего комментария, закажите в: Project & gt; Этапы сборки & gt; Библиотека ссылок.

Ваш ответ на вопрос