2011-09-08 83 views
7

我得到了一個警告,我的項目需要包括armv6二進制..但我真的不知道該怎麼做。一直在搜索答案,但非建議似乎適合? 是armv6的東西,我需要下載,以支持我的應用程序,或Xcode有它,我只需要將其包括在我的項目設置? 此外,我的應用程序應支持操作系統回到3.1。如何將armv6架構添加到Xcode項目?

我在調試部分添加了armv6和armv7後面的i386,但我不知道是否解決了這個問題。這對你有更多經驗的人來說是否合適?

Screenshot of Architecture settings:

+0

使用某個非公開的測試版本?你不能。我們即將上傳一個應用程序,我們必須使用非測試版本。 說的是,我設法擺脫了「你需要armv6錯誤」,只是手動添加它,但仍然無法獲得它上傳 –

回答

2

在項目設置,選擇 「標準」 爲結構(未 「優化」)。這應該允許您爲Active Architecture選擇「armv6」。這意味着它應該在舊設備上工作(禁止任何其他棄用),一旦它在應用商店中。

將您的基礎SDK更改爲iOS設備4.x或更低版本,以便您可以看到您的armv6體系結構。

+0

它被設置爲「標準(armv7)」 - 這是唯一的選擇我有.. –

+0

將您的基礎SDK更改爲ios 4.x或更低版本。 –

+0

非常感謝praveen –

0

這是因爲您使用了新的iOS 5 SDK。 Apple從標準體系結構中刪除armv6體系結構。

您可以在此處獲得更多有關此信息的信息thread

3

我可以使用字符串的ARMv6的ARMv7的代替$(ARCHS_STANDARD_32_BIT)在架構和設置運行我在一箇舊的第一代iPhone的代碼「建設活動體系結構只」爲YES。

+0

如果你得到這樣的錯誤「啓動遠程程序時出錯:無法獲取進程1837的任務「,請嘗試更改發佈版本。 –

1

我剛剛有同樣的問題。我加載了一些舊的XCode項目,並且它們會在模擬器中編譯和運行,但是一旦您嘗試在設備上運行或調試(在我的情況下,在iTouch v2中),它會簡單地說它正在運行,然後說退出了應用程序。沒有錯誤,沒有日誌。

感謝iOS開發人員論壇上的人,讓我走上正軌。在過去幾代XCode發佈的某一時刻(不包括OSX Lion的XCode版本,因爲我只能訪問OSX Snow Leopard),Apple改變了設置項目的方式,即使是舊的也是如此。

然而,包含arm6和arm7的標準架構現在只包含Arm 7 $(ARCHS_STANDARD_32_BIT),並且顯然重置舊項目的設置。當我使用模擬器時,哪些事情未被發現。

我試着將配置字符串更改爲「arm6 arm7」,但這並沒有奏效。但是,返回的錯誤包含了解決方案(至少對於我來說希望其他人仍然有這個問題)。

在XCode 4.2中,如果您希望構建較舊的硬件,如v1和v2設備,只需更改項目設置架構爲$(VALID_ARCHS),默認爲Arm6和Arm7的舊標準。

您可以如前面提到的需要生成有源體系僅設置爲「是」調試選項(然而,這不是由我確認需要)。

我希望這可以幫助任何人仍然有這個問題,我很抱歉爲這個線程。

7

按照我的步驟

  1. 在你的照片,你選擇級別更改爲 「組合拳」
  2. 單擊標準(ARMv7的)$(ARCHS_STANDARD_32_BIT)
  3. 選擇在 「其他」
  4. 點擊「$(ARCHS_STANDARD_32_BIT)」 和點擊 「 - 」 刪除它
  5. 點擊 「+」 添加新項目
  6. 類型 「的ARMv6」
  7. 點擊「+」再次
  8. 類型「的ARMv7」
  9. 按一下,即可完成

我希望這幫助

我有同樣的問題,我嘗試這樣做,它的工作對我來說

+0

最後,解決方案! – wouterds

相關問題