最新の Facebook SDK (v3.1) と Windows Azure iOS Toolkit SDK を使用するアプリを構築しています。
現在、Azure SDK では、ビルド設定の "Other Linker Flags" パラメーターに -all_load および -ObjC フラグを追加する必要があります。これは、カテゴリを含む Objective-C 静的ライブラリに対してリンクする際の既知のバグを修正するために必要です ( http://developer.apple.com/library/mac/#qa/qa1490/_index.htmlを参照)。この設定がないと、Azure SDK は、特定のメソッドを呼び出すときに、"セレクターが認識されない" という実行時例外を生成します。よし、問題は解決した。
ただし、Facebook SDK は、これらのフラグが設定された状態ではビルドされません。ビルド時に次のエラーが発生します。
Undefined symbols for architecture i386:
"_OBJC_CLASS_$_SLComposeViewController", referenced from:
objc-class-ref in FacebookSDK(FBNativeDialogs.o)
"_SLServiceTypeFacebook", referenced from:
+[FBNativeDialogs composeViewControllerWithSession:handler:] in
FacebookSDK(FBNativeDialogs.o)
ld: symbol(s) not found for architecture i386
clang: error: linker command failed with exit code 1 (use -v to see invocation)
これら 2 つのライブラリをうまく連携させる方法についてのアイデアはありますか? 1 つのライブラリはフラグを必要とし、他のライブラリはそれらのフラグが設定された状態でビルドされません。