iOSアプリ開発中、静的ライブラリのリンク・アンリンクを繰り返していたところ、
Undefined symbols:
"_objc_msgSendSuper2" , referenced from:...
というエラーで、アプリをビルドできなくなる現象に遭遇しました。
このエラーは、libobjc.dylibが見つからず、Objective-Cの内部関数が見つからないことで起きているということまではすぐわかったのですが、
なぜlibobjc.dylibが急に見つからなくなったのか気づくまで少し時間がかかりました。
どうやら、静的ライブラリのリンク・アンリンクを繰り返していると、
希に、Library Search Pathsから、SDK標準のフレームワークフォルダ
「$(SDKROOT)/Developer/Library/Frameworks」
が除外されてしまうことがあるようです。(Xcode 4.0.2のバグ?)
Target設定のBuild Settings設定のLibrary Search Pathsに、
「$(SDKROOT)/Developer/Library/Frameworks」
を再度追加してやることで、エラーは出なくなりました。