Undefined symbols for architecture armv7 when adding CocoaAsyncSocket
ios, ios5, objective-c, xmpp, xmppframework
Solution
You just need to add SecurityFramework in the Frameworks. I also met this same problem.
Problem
I am trying to use XMPPFramework with an iOS5 project (ARC) under xcode 4.2.1 but I am facing this problem. Once I add CocoaAsyncSocket to my project as part of preparing my project to use XMPPFramework as in 1I get the following error. I have seen some other people having the "Undefined symbols for architecture armv7" but I did not find yet an answer to this particular issue I have at the moment. I have linked to the CFNetwork and marked the GCDAsyncSocket.m as non-ARC (-fno-objc-arc) but i still get the error. Any help is appreciated. ``` 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) ```