Unrecognized Selector その後

Objective-Cのリンカのバグで、静的ライブラリ内で実装されているカテゴリを呼ぶ場合に同エラーが発生してしまうらしいのだ。
解消方法は、プロジェクトターゲットの"Build Settings"中、パラメタ"Other Linker Flags"に"-ObjC"、更には"-all_load"を追加して再ビルドすること。

私の環境でも"-ObjC"をテスト側のターゲットにおけるリンカフラグに指定した所、発生しなくなった。(こういう「おまじない」で対策するのは正直嫌いだ)

それにしてもこんな重大な問題、どうして放置されているんだろう。
何かおかしいと思って調べているとStack Overflowでこんなスレッドを見つけた。
iphone - Objective-C categories in static library - Stack Overflow

問題はこのスレッドの最後のコメントである。

This issue has been fixed in LLVM. The fix ships as part of LLVM 2.9 The first Xcode version to contain the fix is Xcode 4.2 shipping with LLVM 3.0. The mentioned fixes are no longer needed when working with XCode 4.2

最新のXcode 4.2とLLVM3.0 (Apple LLVM 3.0)ではこのバグはFIXしているというのだ。
Bug 7431 - If an objc source file defines only a category, its symbols are stripped if it's linked into a framework library - llvm.org

しかし、実際にはXcode 4.2で使用するコンパイラを"Apple LLVM 3.0"にして(デフォルトだし)"-ObjC"をリンカフラグに付加しなければ間違い無く"Unrecognized Selector"は発生する。

何が本当なのか判らなくなってきたなぁ。