2012-04-05 12 views
17

Próbuję użyć XMPPFramework z projektem iOS5 (ARC) pod kodem Xcode 4.2.1, ale mam ten problem. Kiedy dodam CocoaAsyncSocket do mojego projektu w ramach przygotowania mojego projektu do użycia XMPPFramework jak w 1 pojawia się następujący błąd.Niezdefiniowane symbole architektury armv7 podczas dodawania CocoaAsyncSocket

Widziałem innych ludzi mających "Nieokreślone symbole dla architektury armv7", ale nie znalazłem jeszcze odpowiedzi na ten konkretny problem, który mam w tej chwili.

Połączyłem się z siecią CFNet i oznaczono GCDAsyncSocket.m jako nie-ARC (-fno-objc-arc), ale nadal otrzymuję błąd. Każda pomoc jest doceniana.

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) 

Odpowiedz

67

Trzeba tylko dodać SecurityFramework w Frameworks. Spotkałem się również z tym samym problemem.

+1

Działa! Zastanawiam się, że nie zostało nigdzie wskazane, że potrzebne są również ramy bezpieczeństwa. Dzięki za odpowiedź. – Future2020

+1

+1 Działa! Dzięki! –

+7

Kolejność jest ważna: najpierw CFNetwork.framework, a następnie Security.framework; sprawia mi 14 błędów w kompilacji, po tej poprawce wszystko jest w porządku. – Martin

Powiązane problemy