はじめに
Xcode で開発していると、以下のエラーに出くわすことが多いかと思います。
Dyld Error Message:
Library not loaded: /Library/Frameworks/xxx
Referenced from: /Users/USER/Desktop/MyApp.app/Contents/MacOS/MyApp
Reason: image not found
Dyld とは dynamic loader という実行時にライブラリを読み込む機構のことです。
「ライブラリが見つからないよ」と言われているわけです。
プロジェクトに外部ライブラリを組み込んだ場合によく起こりますね。
対応方法
Linked Frameworks and Libraries を見直す
General > Linked Frameworks and Libraries に該当のライブラリが設定されているか見直しましょう。
Copy Files Phase を見直す
Build Phases > Copy Files に該当のライブラリが設定されているか見直しましょう。
「Copy Files」が見つからない場合は、メニューの Editor > Add Build Phase > Add Copy Bundle Resources Build Phase から追加可能です。
Runpath Search Paths を見直す
Build Settings > Linking > Runpath Search Paths に @loader_path/../Frameworks/
と記述してあげましょう。
Installation Directory を見直す
ライブラリをサブプロジェクトとして組み込んでいる場合、もしくは自分で .framework を作成して組み込んでいる場合。
ライブラリ側のプロジェクト の Installation Directory を見直しましょう。
Build Setting > Deployment > Installation Directory から確認が可能です。
@rpath
と記述してあげましょう。