我得到一个警告,我的项目需要包含armv6二进制文件..但我真的不知道该怎么做。一直在谷歌搜索答案,但没有建议似乎适合? armv6是我需要下载以支持我的应用程序,还是Xcode有它,我只需要将它包含在我的项目设置中? 此外,我的应用程序应支持操作系统,直到3.1。
我在调试部分添加了arm3和armv7后面的i386,但我不知道是否能解决问题。这对你有经验的人来说是否合适?
答案 0 :(得分:7)
按照我的步骤
我希望这个帮助
我遇到了同样的问题,我尝试这样做,它对我有用
答案 1 :(得分:3)
我可以在旧的第一代iPhone上使用字符串 armv6 armv7 而不是 $(ARCHS_STANDARD_32_BIT)在架构中设置"仅构建活动架构" 为YES。
答案 2 :(得分:2)
在“项目设置”中,为体系结构选择“标准”(不是“优化”)。这应该允许您为Active Architecture选择“armv6”。这意味着它应该也可以在旧设备上运行(禁止任何其他弃用)。一旦它在应用程序商店中。
将您的基础SDK更改为iOS Device 4.x或更低版本,以便您可以看到您的armv6架构。
答案 3 :(得分: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的旧标准。</ p>
如前所述,您可能需要为调试选项将Build Active Architecture Only设置为“Yes”(但我不确认这是必需的)。
我希望这可以帮助其他任何人仍然遇到这个问题而且我为碰撞这个帖子而道歉。
答案 4 :(得分:0)
那是因为您使用的是新的iOS 5 SDK。 Apple将armv6架构从标准架构中删除。
您可以获得有关我之前开始的thread的更多信息。