Loading...

Xcodeのコマンドラインツールが実行できない時の対処法

Udemyの動画講座で使ったコマンドラインツールが謎のエラーで実行できずに困っていたのですが、解決策を見つけたのでまとめておきます。

エラー発生から解決までの流れ

UdemyのiOS 12 & Swift - The Complete iOS App Development Bootcampという講座でプライベートプロパティの使い方を勉強していた時です。

練習用のサンプルプロジェクトをダウンロードして実行したところ、エラーが出て実行できませんでした。

ネットで検索して色々調べてみたのですが、出てきた解決策はどれも効果なく、途方に暮れていました。

プライベートプロパティの使い方の練習自体は自分で新しく作ったiOSプロジェクトで同じことができたのですが、エラーの正体が気になり講座のQ&A機能に投稿してみました。

次の日返信が来ていて、解決方法が書かれたStack overflowのリンクを教えてもらいました。
swift - dyld: Library not loaded: @rpath/libswiftCore.dylib problem with new Xcode (10.2) - Stack Overflow

このページに載っていた内容を試したらスッキリ解決。

見た所、日本語で同じ情報がなかったのでまとめることにしました。

エラーの内容

SwiftAccessLevelsという名前のサンプルプロジェクトでコマンドラインツールを実行しようとしたところ、コンソールに以下の文面のエラーが出てストップしてしまいました。

dyld: Library not loaded: @rpath/libswiftCore.dylib
Referenced from: /Users/(myname)/Library/Developer/Xcode/DerivedData/SwiftAccessLevels-ebifkboziccvhaebjitojidfqboz/Build/Products/Debug/SwiftAccessLevels
Reason: image not found

*(myname)の所にはMacのユーザーネーム(僕の本名)が入っていたので伏せています

環境はXcode10.2、MacOS 10.14.3です。

エラーの原因

原因はXcodeのバージョンとMacOSのバージョンの不一致でした。

コマンドラインツールを実行する数日前にApp StoreでXcodeのアップデートが来てるのを見て、よく考えずにアップデートしていました。

コマンドラインツールの実行にはMacOS内のライブラリが必要なのですが、アップデートされたXcode10.2はMacOS 10.14.4のライブラリを参照しようとします。

XcodeだけアップデートしてMacOSをアップデートしていなかったことによってライブラリが見つからず今回のエラーが起きていたようです。

エラーの解決法

シンプルにMacOSをアップデートしてバージョンを合わせてやれば解決します。

まとめ

OSのバージョンが最新か確認するっていうのはソフトがうまく動かない時に最初にやることのはずだったのですが、「プログラムが動かないから何か特別な理由があるはずだ!」と思い込んでしまっていたのが今回の敗因ですね。

Q&Aに書き込んだ時に自分の環境(Xcodeのバージョン)を書いてすらいなかったのにちゃんと答えてくれた回答者さんに感謝です。
Swift 2826697004600548092
ホーム item