私のXcodeプロジェクトでは、私はXMPPフレームワークを統合しました。 iOS 5.1シミュレータで正常に動作します。私はiOSの4.3シミュレータ上でプロジェクトを実行しようとしたとき、私は次のエラーを取得しています:私は、エラーがここで発生することがわかっさらにデバッグ後xmppStream = [[XMPPStream alloc] init];
: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
は、エラーが次のコード行に発生しました:
- (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を統合したプロジェクトはARCではありません。そこで、すべてのXMPPファイルに対して-fobjc-arcを追加しました。 XMPPライブラリによって与えられたサンプルプロジェクトは、iOS 4.3シミュレータでうまく動作しています。誰もがこのエラーを解決するのに役立つことができますか?
Xcodeのバージョン:4.3.3
のiOS:iOSの4.3シミュレータ
申し訳ありませんが、私はすでにすべてのXMPPファイルに対して-fobjc-arcを追加していました。しかし、問題は持続する – Vaquita
それはリンク時ではなく、コンパイルの時間ステップですよね。私が正しく理解していれば、プロジェクトは非ARCなので、ARCライブラリはデフォルトでリンクされていません。クラスの中にはARCが必要なものがある場合は、明示的にリンクする必要があります。 –