我們的iOS應用程序依賴於目前僅適用於armv6 + armv7的商用第三方靜態庫。基於這個原因,我無法構建我們的armv7s應用程序。只有armv6 + armv7 +模擬器。我可以直接在僅爲armv6和armv7構建的iPhone-5(armv7s)iOS應用程序上進行調試嗎?
我們的構建被部署並在iPhone-5上運行,沒有問題 - 它運行armv7代碼。
不過,我不能找到一種方法。當我連接iPhone-5在iPhone 5直接調試,並嘗試建立調試,我得到的鏈接錯誤是這樣的:
"No architectures to compile for (ONLY_ACTIVE_ARCH=YES, active arch=armv7s, VALID_ARCHS=armv7)."
起初,我認爲也許我的「Build only active architecture」設置用於調試配置,導致Xcode在iPhone-5(armv7s)連接時不嘗試爲armv7構建。但是,當我將它設置爲「NO」(讓Xcode爲所有支持的架構始終構建)時,我會遇到一大堆構建錯誤(摘錄如下 - 我們有很多目標,每個都會發出類似的錯誤) 。
=== BUILD NATIVE TARGET ASPCommon OF PROJECT ASPCommon WITH CONFIGURATION Debug ===
Check dependencies
No architectures to compile for (ARCHS=i386, VALID_ARCHS=armv7).
** BUILD FAILED **
The following build commands failed:
Check dependencies
(1 failure)
Command /bin/sh failed with exit code 65
該目標沒有依賴性,它只對構建的iOS SDK框架,並且比iPad的4/iPhone 5的其他任何裝置被連接時建立精細。
最後我的問題:是否有可能在armv7s設備上直接調試armv7代碼?如果有可能,當我在構建設置中做錯了什麼來打破這個?
謝謝!
嗨,我忘了我發佈了這個問題...我自己的回答是 - 是的。有可能的。問題不在於庫或我的代碼中,而是在我用來創建iOS「Framework」目標的iOS Xcode模板中。 – 2014-05-25 09:21:32