2011-09-08 86 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

相关问题