エラーメッセージ
dyld: Library not loaded: /Library/Frameworks/SBJson.framework/Versions/A/SBJson
Referenced from: /foo/bar
Reason: image not found
調査
@rpath/Framekworks/...
みたいなエラーならRunpath Search Path
に@loader_path/../Frameworks
などを追加すればいいんだけど,そうではない.なぜわざわざ/Library/Frameworksを読みにいっているのかわからない…
結論
ビルドメッセージをチェックすると,存在しないディレクトリを-Fオプションで指定しているというwarningが出ていた.TargetsのBuild SettingsでFramework Search Pathを見ると指定した覚えのないパスが指定されていた.
それを消し$(inherited)
と"$(SRCROOT)"
の2つにすると解決した.存在しないパスを指定すると/Libraryから探しにいくのは何なんだろう…?
教訓
意味不明なエラーが出たときはTargetsのBuild Settingsを良く読んでみること.これははまった…