2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Xcodeでプロジェクト名を途中で変えた後にライブラリを加えてlinker command failedになった人へ

Last updated at Posted at 2017-01-21

自分の体験談です。忘備録がわりですが同じような症状の人にもわかるように。
linker command failedエラーが発生した状況はこんな感じでした。
#発生状況

  • 名称「A」というプロジェクト名、アプリ名で開発開始して、ビルドやシミュレーターで開発をした
  • 途中でアプリ名を「B」に変えて「Display Name」や「Indentity and Type」、その他プロジェクトフォルダの名称も「B」に変更した
  • cocoapodsをインストールし、追加したいライブラリをPodfileに書き込んで、該当プロジェクトフォルダ内でpod installをした
  • 該当の.xcworkspaceファイルをXcodeで開き、シミュレーターなどでビルドを試みるも、build Faildになる
  • linker command failed with exit code 1 (use -v to see invocation) エラーが発生
スクリーンショット 2017-01-21 17.07.42.png

このエラーは様々な要因で起こります。Build Active Architecture Onlyなどの設定がおかしかった、という例などもありこれらを試してみてもうまくいかない・・・という人もいるかと思います。

あくまでもこれは私の1つの解決法です。
#解決法
通常、1度でもビルドをすると、
/Users/[ユーザー名]/Library/Developer/Xcode/DerivedData/Debug-iphoneosあたりに[アプリ名].appというアプリケーションが出来ますが、
途中でアプリ名を変更するとここに変更前と変更後の2つ(今回は「A.app」と「B.app」の2つ)が出てきてしまうことがあります。
Xcodeのプロジェクトの「Build Settings」の中の「Bundle Loader」を見てみると変更前の「A」が残っているのことが今回のエラーの元凶です。
スクリーンショット 2017-01-21 17.17.46.png

ここの欄を${BUNDLE_LOADER}と入力してあげましょう。これでビルドが通るはずです。

どうやらアプリ名を変更するときに必要な変更箇所を見逃していたようですね。やっぱりアプリ名を途中で変更するのは極力控えた方が良さそうです。

ちなみに見つかったうちの古い方アプリケーション(今回は「A.app」)は削除しても問題なさそうです。

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?