2011-06-17 74 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。