まとーか鈴木

千の姿と千の技と千の風

CocoaPods -> Carthage移行中に"dyld`dyld_fatal_error"でハマった話

Carthageで依存を設定したライブラリ読み込みでハマったので備忘のため記載。

ビルドが成功しても実行中に以下のようなエラーが出てしまいました。

dyld`dyld_fatal_error

dyld: lazy symbol binding failed: Symbol not found:

dyld: Symbol not found:

原因

今までObjectiveCで開発してきたアプリをSwiftで書き直す際、
ライブラリ依存方法もCocoaPodsからCarthageに変えていたのですが、
ここにミスがありました。

cartfileに移行したものをpodfileから消し忘れており、
同じライブラリの2つの実体を生成してしまっていました。
(CarthageとCocoaPodsの両方を利用しています。)

そうなると何やらエラーが出るんですね。

対策・結論

CartfileとPodfileに被りがないようにする。

プロジェクトファイルばかり確認して2日潰しましたよ、トホホ・・。