hachinoBlog

hachinobuのエンジニアライフ

Xcode5.1でundefined symbols for architecture armv64 エラー

背景

iOS7.1のリリースに併せてXcodeのバージョンを5.1にアップデートし以前のXcodeで正常にビルドできていたプロジェクトをXcode5.1でビルドしてみたところ、あるコードの箇所で

undefined symbols for architecture armv64

という見慣れた感じのArchitectureのエラーが出現。

原因

[Build Settings]-[Architectures]の[Architectures]項目の値であるStandard architecturesにarm64が入っていた。

f:id:hachinobu:20140311111332p:plain

解決方法

f:id:hachinobu:20140311111548p:plain

[Build Settings]-[Architectures]の[Architectures]項目の値をarm64を含めないようにしました。

f:id:hachinobu:20140311111535p:plain

もしかしたらXcode5.1以前からarm64はStandard architecturesに含まれていたかも。

それでもって対応したことを忘れていたかもなのでメモ。

そもそもarm64対応になっていないコードがあることが問題か。。

warningチェックも改良されているっぽい。

*追記

このやり方だとCocoaPodsでこける。

$(ARCHS_STANDARD_32_BIT)を追加して選択するのが正解のようだ。