XCode 4.2。问题:标准(armv7)

时间:2011-06-17 09:16:17

标签: iphone ios4 xcode4 armv7 armv6

我想在App Store中更新我的应用程序但是当我尝试上传它时,我收到一条错误,即我的应用程序不支持armv6。问题是我甚至不能选择Armv6作为架构。

我有以下架构设置:

  1. 架构:标准(armv7)
  2. 基础SDK:最新iOS(iOS 5.0)
  3. 仅构建活动架构:否
  4. 有效架构:armv6 armv7 armv7f armv7k
  5. 我想因为3和4的一切都是正确的。

    我不能为其他东西改变1。

    我该怎么办?

7 个答案:

答案 0 :(得分:2)

最好降级回适用于分发版本的SDK的稳定版本。 Apple甚至在之前的beta版笔记中写过这篇文章。

我通过将Architecture设置为“armv6 armv7”来部分解决了这个问题。之后,我可以构建通用二进制文件,但模拟器构建被破坏。 :)

答案 1 :(得分:1)

我们修复我们的方法是进入目标构建设置,选择体系结构列表并选择其他...然后点击“+”按钮添加您自己的名为“armv6”而不带引号。点击完成,清理目标和存档。

请记住,在“架构”列表中不需要“选择”任何内容。它只是受支持的体系结构列表,应该只包含两个条目。

答案 2 :(得分:1)

这是最好的解决方案,是啊!

选择“架构:标准(armv7)” 选择“其他......” 选择一个“+”按钮 添加“armv6” 选择“完成”

答案 3 :(得分:1)

每个人都看到重复的符号错误和/或有关armv6的警告的背景故事。

    如果您的应用支持iOS 4.3以下的部署目标,则需要
  1. armv6。
  2. 默认情况下,最新的Xcode 4.2具有架构= $(ARCHS_STANDARD_32_BIT),映射到armv7。
  3. Xcode 4.1具有相同的env变量,但它映射到armv6和armv7。
  4. 在Xcode 4.2中执行armv6 + armv7需要一些技巧......

    A)将“armv6”添加到架构列表中。然而,这打破了Xcode 4.1的构建,因为“armv6”+ $(ARCHS_STANDARD_32_BIT)= armv6 armv6 armv7 - >重复的符号错误

    B)使用变量$(VALID_ARCHS)映射到armv6 armv6(和i386用于模拟器构建)

答案 4 :(得分:1)

从xcode删除所有架构然后它将采用arm v6和arm v7。

答案 5 :(得分:0)

  1. 选择“架构:标准(armv7)”
  2. 选择“其他......”
  3. 选择“+”按钮
  4. 添加“armv6”
  5. 选择“完成”
  6. 祝你好运

答案 6 :(得分:0)

从Architectures设置中删除环境变量$(ARCHS_STANDARD_32_BIT)。 将“armv6”和“armv7”添加到架构列表中。 如果您正在构建自己的库 - 他们也需要具有这些设置。