Xcode 升級到 5.1 後, Architectures 預設都會包含 arm64 ,若你之前是設定 armv7 armv7s ,竟然會變成 $(ARCHS_STANDARD_INCLUDING_64_BIT) ,預設值則變成 Standard architectures(armv7,armv7s,arm64) ,這兩個不管怎麼選都會包含 arm64。未選預設值編譯時也會出現建議你 Automatically Select Architectures 的黃色驚嘆號提示。
但是我使用的一些第三方 SDK 不支援 64bit ,例如 AdMob 與百度地圖,編譯時會出現以下錯誤訊息:
missing required architecture x86_64 in file
Undefined symbols for architecture x86_64
解決方法是 Architectures 選擇 Other... 刪除 $(ARCHS_STANDARD) 並輸入 armv7 armv7s ,這樣編譯時就不會包含 64bit 了。這只是暫時的解決方法,還是等第三方 SDK 出新版比較實在。