2012-04-05 12 views
17

Sto cercando di utilizzare XMPPFramework con un progetto iOS5 (ARC) in xcode 4.2.1 ma sto affrontando questo problema. Dopo aver aggiunto CocoaAsyncSocket al mio progetto come parte della preparazione del mio progetto per l'utilizzo di XMPPFramework come in 1, viene visualizzato il seguente errore.Simboli indefiniti per l'architettura armv7 quando si aggiunge CocoaAsyncSocket

Ho visto altre persone che hanno i "Simboli indefiniti per l'architettura armv7" ma non ho ancora trovato una risposta a questo particolare problema che ho al momento.

Ho collegato a CFNetwork e contrassegnato GCDAsyncSocket.m come non ARC (-fno-objc-arc) ma ottengo ancora l'errore. Qualsiasi aiuto è apprezzato.

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) 

risposta

67

È sufficiente aggiungere SecurityFramework nei Framework. Ho anche incontrato questo stesso problema.

+1

Funziona! Mi chiedo se non sia stato indicato da nessuna parte che sia necessario anche il framework di sicurezza. Grazie per la tua risposta. – Future2020

+1

+1 Funziona! Grazie! –

+7

L'ordine è importante: CFNetwork.framework prima e poi Security.framework; mi fa 14 errori nella compilazione, dopo questa correzione, tutto è OK. – Martin

Problemi correlati