2012-04-05 23 views
17

Estoy tratando de usar XMPPFramework con un proyecto iOS5 (ARC) bajo xcode 4.2.1 pero estoy enfrentando este problema. Una vez que agregue CocoaAsyncSocket a mi proyecto como parte de la preparación de mi proyecto para usar XMPPFramework como en 1, aparece el siguiente error.Símbolos no definidos para la arquitectura armv7 al agregar CocoaAsyncSocket

He visto a otras personas tener los "Símbolos indefinidos para la arquitectura armv7", pero no encontré aún una respuesta a este problema en particular que tengo en este momento.

He vinculado a CFNetwork y he marcado el GCDAsyncSocket.m como no ARC (-fno-objc-arc) pero sigo recibiendo el error. Cualquier ayuda es apreciada.

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) 

Respuesta

67

Solo necesita agregar SecurityFramework en los Frameworks. También conocí este mismo problema.

+1

¡Funciona! Me pregunto si no fue indicado en cualquier lugar que el marco de seguridad también es necesario. Gracias por tu respuesta. – Future2020

+1

+1 ¡Está funcionando! ¡Gracias! –

+7

El pedido es importante: CFNetwork.framework primero y luego Security.framework; me hace 14 errores en la compilación, después de esta corrección, todo está bien. – Martin

Cuestiones relacionadas