Edited at

Library not loaded エラー?ここを見直そう

More than 5 years have passed since last update.


はじめに

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 に該当のライブラリが設定されているか見直しましょう。

ZowLog_—_ZowLog.jpg


Copy Files Phase を見直す

Build Phases > Copy Files に該当のライブラリが設定されているか見直しましょう。

ZowLog_—_ZowLog.jpg

「Copy Files」が見つからない場合は、メニューの Editor > Add Build Phase > Add Copy Bundle Resources Build Phase から追加可能です。

Add_Build_Phase_と_Editor_と_Menubar.jpg


Runpath Search Paths を見直す

Build Settings > Linking > Runpath Search Paths に @loader_path/../Frameworks/ と記述してあげましょう。

ZowLog_—_ZowLog.jpg


Installation Directory を見直す

ライブラリをサブプロジェクトとして組み込んでいる場合、もしくは自分で .framework を作成して組み込んでいる場合。

ライブラリ側のプロジェクト の Installation Directory を見直しましょう。

Build Setting > Deployment > Installation Directory から確認が可能です。

@rpath と記述してあげましょう。

ZowLog_—_EvernoteSDK.jpg


参考