8

我收到警告说我的项目需要包含 armv6 二进制文件。但我真的不知道该怎么做。一直在寻找答案,但似乎没有任何建议适合?armv6 是我需要下载以在我的应用程序中支持的东西,还是 Xcode 有它,我只需要将它包含在我的项目设置中?此外,我的应用程序应该支持操作系统回到 3.1。

我在调试部分的 armv6 和 armv7 后面添加了 i386,但我不知道这是否能解决问题。这对有更多经验的人来说是否正确?

架构设置截图:

4

5 回答 5

7

跟着我的脚步

  1. 在您的图片中,您选择级别将其更改为“组合”
  2. 单击标准 (armv7) $(ARCHS_STANDARD_32_BIT)
  3. 选择“其他”
  4. 单击“$(ARCHS_STANDARD_32_BIT)”并单击“-”将其删除
  5. 点击“+”添加新项目
  6. 输入“armv6”
  7. 再次点击“+”
  8. 输入“armv7”
  9. 单击任意位置以完成

我希望这有帮助

我只是有同样的问题,我尝试这样做,它对我有用

于 2012-05-30T10:09:34.787 回答
3

我可以在旧的第一代 iPhone 上运行我的代码,在架构中使用字符串armv6 armv7而​​不是$(ARCHS_STANDARD_32_BIT)并将“仅构建活动架构”设置为“是”。

于 2011-12-01T00:26:34.720 回答
2

在项目设置中,为架构选择“标准”(不是“优化”)。这应该允许您为 Active Architecture 选择“armv6”。这意味着一旦它在应用商店中,它也应该可以在旧设备上运行(除非有任何其他弃用)。

将您的基础 SDK 更改为 iOS 设备 4.x 或更低版本,以便您可以查看 armv6 架构。

于 2011-09-08T12:23:10.287 回答
1

我刚遇到同样的问题。我加载了一些较旧的 XCode 项目,它们可以在模拟器上正常编译和运行,但是一旦您尝试在设备上运行或调试(在我的情况下是 iTouch v2),它只会说它正在运行,然后说应用程序退出。没有错误,没有日志。

感谢 iOS 开发者论坛上的某个人让我走上了正轨。在过去的几个 XCode 版本中(不包括 OSX Lion 的 XCode 版本,因为我只能访问 OSX Snow Leopard)Apple 改变了项目的设置方式,甚至是加载的旧项目。

然而,过去包含 arm6 和 arm7 的标准架构,至少在 XCode 4.2 标准中现在只包含 Arm 7 $(ARCHS_STANDARD_32_BIT) 并且显然也重置了旧项目的设置。当我使用模拟器时,我没有注意到这一点。

我尝试将配置字符串更改为“arm6 arm7”,但这不起作用。然而,返回的错误包含解决方案(至少对我来说,希望其他人仍然有这个问题。)

在 XCode 4.2 中,如果您希望构建到较旧的硬件,例如 v1 和 v2 设备,只需将架构的项目设置更改为 $(VALID_ARCHS),默认为 Arm6 和 Arm7 的旧标准。

如前所述,您可能需要为调试选项将“仅构建活动架构”设置为“是”(但我并未确认这是必需的)。

我希望这可以帮助其他仍然遇到这个问题的人,我很抱歉碰到这个线程。

于 2012-05-28T04:18:07.160 回答
0

那是因为您使用了新的 iOS 5 SDK。Apple 从标准架构中删除了 armv6 架构。

您可以在我之前开始的这个线程上获得更多信息。

于 2011-10-11T11:07:45.713 回答