2012-04-05 30 views
17

Tôi đang cố gắng sử dụng XMPPFramework với dự án iOS5 (ARC) theo xcode 4.2.1 nhưng tôi đang đối mặt với vấn đề này. Một khi tôi thêm CocoaAsyncSocket vào dự án của tôi như một phần của việc chuẩn bị dự án của tôi để sử dụng XMPPFramework như trong 1 tôi nhận được lỗi sau.Ký hiệu không xác định cho kiến ​​trúc armv7 khi thêm CocoaAsyncSocket

Tôi đã thấy một số người khác có "Biểu tượng không xác định cho kiến ​​trúc armv7" nhưng tôi chưa tìm thấy câu trả lời cho vấn đề cụ thể mà tôi có vào lúc này.

Tôi đã liên kết với CFNetwork và đánh dấu GCDAsyncSocket.m là không ARC (-fno-objc-arc) nhưng tôi vẫn gặp lỗi. Bất kỳ trợ giúp được đánh giá cao.

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) 

Trả lời

67

Bạn chỉ cần thêm SecurityFramework vào khung. Tôi cũng đã gặp vấn đề tương tự này.

+1

Nó hoạt động! Tôi tự hỏi nó không được chỉ định ở bất cứ đâu mà khung bảo mật cũng cần thiết. Cảm ơn câu trả lời của bạn. – Future2020

+1

+1 Nó hoạt động! Cảm ơn! –

+7

Thứ tự quan trọng: CFNetwork.framework trước và sau đó là Security.framework; nó làm cho tôi 14 lỗi trong biên dịch, sau khi sửa chữa này, mọi thứ đều ổn. – Martin

Các vấn đề liên quan