Objective-C
iOS

clang: error: linker command failed with exit code 1 が出たときの体験談

More than 3 years have passed since last update.

経緯

  1. iOS向けアプリを作ろうと思い立つ
  2. せっかくなのでiOS7向けアプリ開発にしようと考える
  3. RailsとiPhoneではじめるアプリケーション開発の初版第一刷187ページから写経を始める
  4. ライブラリ管理にはCocoaPodsがよいと書いてあるので素直に使いだす
  5. ライブラリをpod installする
  6. 写経を続ける
  7. 201ページまでコードを写したところでRunしたところビルド失敗。
clang: error: linker command failed with exit code 1

なるエラーが発生。

なお Xcode 5.0.1 を使用。

参考

clang: error: linker command failed with exit code 1 というエラーログで検索。クエリに "pods" を追加したりもした。結果、いくつか日本語記事がヒットした。

http://d.hatena.ne.jp/goodbyegirl1974/20120920/1348106337

http://teabreak.info/web-program/xcode-clang-error-linker-command-failed-with-exit-code-1-use-v-to-see-invocation/932/

http://d.hatena.ne.jp/samril/20130910/1378890218

clang: error: linker command failed with exit code 1 のエラーはさまざまな原因で発生する。上記の3記事、どれも自分のエラー発生原因とは異なっていた。

解決方法

$ pod install

しなおして(不要だったかも)、

projectname.xcworkspace

からXcodeを開いたところ、ビルドしてもエラーが出なくなった。99個のWarningsと共にビルド成功。

原因

CocoaPodsを使うときは、projectname.xcodeprojではなく
projectname.xcworkspace
からXcodeを開かねばならない。projectname.xcodeprojから開いていたのが原因。

参考 http://www.shigekitakeguchi.com/archives/1016

CocoaPodsを使っている人にとっては常識だったのかも。