2011-06-17 76 views
4

我想在App Store中更新我的應用程序,但是當我嘗試上載它時,出現armv6在我的應用程序中不受支持的錯誤。問題是我甚至不能選擇Armv6作爲架構。XCode 4.2。問題:Standard(armv7)

我有以下的架構設置:

  1. 體系結構:標準(ARMv7的)
  2. 基地SDK:最新的iOS(iOS版5.0)
  3. 構建有源體系只有:NO
  4. 有效的體系結構: armv6 armv7 armv7f armv7k

我以爲因爲3和4一切都設置正確。

我不能改變1的東西。

我該怎麼辦?

+0

我不認爲我們現在可以提交任何目標爲5.0的東西?!這使我認爲你正在使用目前不應該用於應用商店的工具。 – Eiko 2011-06-17 10:09:55

+0

沒錯,我會降級到Xcode 4.0.2。再次。謝謝 – 2011-06-17 10:10:48

+0

針對4.2版本的問題提交雷達。儘管我們不應該在4.2中編寫生產代碼,但他們仍然在研究這類問題。 http://bugreport.apple.com/ – Kalle 2011-06-17 14:38:32

回答

2

最好是降級回發佈版本的穩定版本的SDK。 Apple甚至在之前的測試版筆記中寫到了這一點。

我通過將架構設置爲「armv6 armv7」來部分解決了該問題。之後,我可以構建通用二進制文件,但模擬器版本已損壞。 :)

+1

是的,我降級了!我並不知道這些信息,只是對ios5工具感到好奇。 – 2011-06-30 12:07:46

+0

您需要製作覆蓋體系結構特定的;即'ARCHS [sdk = iphone *] = armv6 armv7'。在Xcode 4中有一個「+」按鈕可以做到這一點;它是如何設置代碼簽名設置的(它不簽署模擬器構建)。 – 2011-08-19 16:21:21

+0

我採取了相同的方法,但我在模擬器上運行得很好。 Xcode 4.2 Build 4C177 – AWrightIV 2011-09-30 04:32:04

1

我們固定我們的方式是進入目標構建設置,選擇體系結構列表並選擇其他...然後點擊「+」按鈕添加您自己的名爲「armv6」沒有引號。完成後,乾淨的目標和檔案。

請記住,沒有什麼需要在架構列表中「選擇」。它只是一個支持的體系結構列表,應該只包含兩個條目。

0
  1. 選擇 「架構:標準(ARMv7的)」
  2. 選擇 「其他...」
  3. 選擇一個 「+」 按鈕
  4. 添加一個 「ARMv6的」
  5. 選擇「完成」

好運

1

這是最好的解決辦法,yeahhh!

選擇「架構:標準(ARMv7的)」 選擇「其他...」 選擇一個「+」按鈕 添加一個「ARMv6的」 選擇「完成」

1

一些回來的故事每個人都看到重複的符號錯誤和/或警告關於armv6丟失。

  1. 如果您的應用支持iOS 4.3以下的部署目標,則需要armv6。
  2. 默認情況下,最新的Xcode 4.2具有architecture = $(ARCHS_STANDARD_32_BIT),它映射到armv7。
  3. Xcode 4.1具有相同的env變量,但它映射到armv6和armv7。

做在Xcode 4.2的ARMv6 + ARMv7的需要一些掛羊頭賣狗肉...

A)在 「ARMv6的」 添加到架構的列表。但是這會破壞Xcode 4.1的版本,因爲「armv6」+ $(ARCHS_STANDARD_32_BIT)= armv6 armv6 armv7 - >重複符號錯誤

B)使用映射到armv6 armv6的變量$(VALID_ARCHS)(和模擬器版本的i386)

0

從體系結構設置中除去環境變量$(ARCHS_STANDARD_32_BIT)。 將「armv6」和「armv7」添加到架構列表中。 如果你正在構建自己的庫,他們也需要這些設置。

1

從xcode中刪除所有體系結構,然後它將採用arm v6和arm v7。