2013-05-06 53 views
4

我們的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代碼?如果有可能,當我在構建設置中做錯了什麼來打破這個?

謝謝!

回答

0

簡答:不,我相信你試圖做的事情是不可能的!需要爲armv7s重建第三方靜態庫。繼續獵取他們,直到他們更新他們的圖書館。

+0

嗨,我忘了我發佈了這個問題...我自己的回答是 - 是的。有可能的。問題不在於庫或我的代碼中,而是在我用來創建iOS「Framework」目標的iOS Xcode模板中。 – 2014-05-25 09:21:32

0

哦,我忘了我張貼了這個問題...

最終我能夠調試運行在所有iOS設備,因爲問題的根源既不在僅可用於ARMv7-庫,或我的項目/目標設置。

問題出在我用來創建iOS「框架」目標的iOS Xcode模板中。 (舊版本iOS Universal framework from Karl Stenerud)。

我們的代碼庫很大,其中的許多主要模塊都提供MacOS和iOS版本的應用程序,另外我們還想將這些主要塊封裝爲「SDK」,包括庫,頭文件,資源和文檔。所以---我們一直在使用Framework目標。由於iOS沒有內部「框架」目標模板 - 我們使用了第三方模板。

此模板用戶構建腳本存在缺陷,在特定情況下從構建中省略了平臺,從而導致構建錯誤以及無法調試。

最後一個字---模板的更新刪除了問題。

相關問題