5
在My Xcode項目中,我已經集成了XMPP框架。它在iOS 5.1模擬器上正常工作。當我試圖在iOS 4.3模擬器我收到以下錯誤運行項目:XMPP不適用於iOS 4.3項目
dyld: lazy symbol binding failed: Symbol not found: _objc_storeStrong
Referenced from: /Users/admin/Library/Application Support/iPhone Simulator/4.3.2/Applications/67451DE6-EFC1-4313-9A29-C2C641F727C6/AppName.app/AppName
Expected in: /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator4.3.sdk/System/Library/Frameworks/Foundation.framework/Foundation
dyld: Symbol not found: _objc_storeStrong
Referenced from: /Users/admin/Library/Application Support/iPhone Simulator/4.3.2/Applications/67451DE6-EFC1-4313-9A29-C2C641F727C6/AppName.app/AppName
Expected in: /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator4.3.sdk/System/Library/Frameworks/Foundation.framework/Foundation
在下面的代碼行發生錯誤:xmppStream = [[XMPPStream alloc] init];
進一步調試後,我發現這裏出現錯誤:
- (id)init
{
if ((self = [super init])) //**CRASH WHEN EXECUTING THIS STATEMENT
{
// Common initialization
[self commonInit];
// Initialize socket
asyncSocket = [[GCDAsyncSocket alloc] initWithDelegate:self delegateQueue:xmppQueue];
}
return self;
}
我綜合XMPP該項目不是圓弧。所以我添加了-fobjc-arc針對所有XMPP文件。 XMPP庫提供的示例項目在iOS 4.3模擬器上運行良好。任何人都可以幫我解決這個錯誤?
的Xcode版本:4.3.3
的iOS:的iOS 4.3模擬器
對不起,我已經添加了對所有XMPP文件的-fobjc-arc。但問題仍然存在 – Vaquita
但這是一個編譯時間步驟,而不是鏈接時間,對吧?如果我理解正確,那麼您的項目是非ARC,因此ARC庫默認情況下未鏈接。如果你的一些類需要ARC,你需要明確地鏈接它們。 –