Xcode Mach-O Linker Error armv7s (linker command failed)

Mach-O Linker Error

這個問題發生在 Xcode 更新到 4.5 版後,並且有使用 Admob 的情況下,原本的專案原封不動的想要發佈到實機測試時,就會出現令人討厭的 Mach-O Linker Error armv7s (linker command failed) 錯誤。

發佈到模擬器上執行是正常的,就只有發佈到實機時會出現連結錯誤,我找了很久大概瞭解了出現錯誤的原因。

問題

Xcode 4.5 已把編譯架構更換為 armv7 及 armv7s ,這是為了 iPhone5 的 A6 CPU 設計的,而我的實機是舊舊的 iPad,只支援 armv6 的架構,所以編譯的程式當然就不能用。這是問題之一,之二是出在 Admob,我把它更新到最新的 6.2.1 這是版本,而它是支援 iPhone5 的,所以也是 armv7s 架構,當然也編不過去,因此問題都是出在編譯所要支援的核心架構。

解決方法

問題之一的解決方法就是去設定 Xcode 的專案設定值,將專案的 Build Setting -> "Build Active Architecture Only"(選All才看得到) 選項設為 "Yes" 就OK了。

問題之二就是 Admob 不能用最新的版本,我降回 6.1.5 版就正常了。

參考資料

本文網址:https://blog.tonycube.com/2012/11/iosmach-o-linker-error-armv7s-linker.html
Tony Blog 撰寫,請勿全文複製,轉載時請註明出處及連結,謝謝 😀

我要留言

留言小提醒:
1.回覆時間通常在晚上,如果太忙可能要等幾天。
2.請先瀏覽一下其他人的留言,也許有人問過同樣的問題。
3.程式碼請先將它編碼後再貼上。(線上編碼:http://bit.ly/1DL6yog)
4.文字請加上標點符號及斷行,難以閱讀者恕難回覆。
5.感謝您的留言,您的問題也可能幫助到其他有相同問題的人。