Swift dyld: Library not loaded 事例集(日々更新)
Swiftで開発中に以下のエラーが発生してライブラリが読み込めないことがあるが、いまいち原因が掴まない。Xcodeの挙動を理解していない事が一番の原因なのだけれど根本的な原因を掴める記事がみつからない、ひとまず事例をweb上から集めてみようとおもう。
dyld: Library not loaded
dyld: Library not loaded: @rpath/Pods.framework/Pods
Link Binary with LibrariesのstatusをOptionalにして解決している
framework not found Realm for architecture x86_64
シュミレータを起動した場合はOKだが、TESTの実行時にライブラリがみつからない場合。 TestのTargetで、Link Binary with Librariesを設定してOKになった。
dyld: Library not loaded: @rpath/Alamofire.framework/Alamofire
Embedded Binariesにフレームワークを追加してOK
otool -l appを実行すると、
Load command 33 cmd LC_RPATH cmdsize 40 path @executable_path/Frameworks (offset 12)
LC_RPATHは@executable_path/Frameworksとなっている、 この時の@executable_path/Frameworksは/System/Library/Frameworksとの事、
rpathというものがそもそもなんなのかがわかっていないが、バイナリ毎に設定されたPATHのありかぽい。 otoolについてもっと調べよう。
参考にさせて頂いた記事、 qiita.com qiita.com Mac OSX で dylib などのライブラリ内のリンク情報を変更するには - Enjoi Blog jpmartha.hatenablog.jp qiita.com matsukaz.hatenablog.com mushikago.com