はじめに
今回はドハマリして解決に時間がかかった linker command failed with exit code 1
についての解決方法のメモです。
前提は、
Xcode10.1
CocoaPods
のバージョンがv1.5.3
だったのをv1.6.0.rc1
にアップデートした
とします。
現象
Git上のConflictを解消しようと思っていたら、いつの間にかエラーが出るようになってしまっていました。
筆者の場合は RealmSwift
を利用していたのですが、急に Realm
に対して linker command failed with exit code 1
と表示されるようになっていました。
解決方法
筆者の場合、2段階でハマりました。
CocoaPods
がsudoあり/なし
両方でインストールしてしまっていたv1.6.0.rc1
にアップデートしてしまっていた
CocoaPodsを重複してインストールしてしまった
恐らく試行錯誤している間に誤ってインストールしてしまったのだと思います。
CocoaPods
の何かでハマった時に、 CocoaPods
のバージョンを旧バージョンに下げるなどの記事が見つかったりしますが、
知らず知らずのうちに重複してインストールしていると正しくバージョン管理ができません。
よって怪しいなと思ったら、 CocoaPods
を全てアンインストールしましょう。
1 2 |
|
アンインストール後に pod --version
を実行してバージョンが非表示であれば、全て削除できています。
v1.6.0.rc1にアップデートしてしまった
どうも v1.6.0.rc1
が悪さをしているようでしたので、下記手順を実行して解決しました。
- “pod deintegrate”
- “sudo gem install cocoapods-clean”
- “pod clean”
- Open the project and delete the “Pods” folder that should be red
- “pod setup”
- “pod install”
XCConfig files are not properly deintegrated from the user projectで同様に苦しんでいる方々がいたので、コメントに書かれた上記の解決策で解消できました。
まとめ
CocoaPods
系ってたまにドハマリして時間取られることがあるので、気をつけねば…
ということで本日はここまで。