我开发了我的第一个XCode5 ONLY应用程序,它非常类似于我在4.6上完成的应用程序。它在模拟器和我的iPhone 4,4S和5以及我的2台iPad上运行完美。 但是,当我尝试验证它以提交到App Store时,我得到一堆与arm64相关的错误需要7.0.0或更高版本。我将部署目标设置为6.1,当我在Xcode 5中运行我之前在4.6中启动的应用程序时,这不会发生。 如果我将部署目标更改为7.0,那么一切正常。 这里发生了什么?我需要更改什么才能在6.1上进行验证? 谢谢。
编辑:好的,我将构建设置中的架构更改为标准(armv7,armv7s),删除arm64,一切正常。这是正确的做法吗?据推测,它仍将在iPhone 5S上运行,但不在64位运行。正确的吗?答案 0 :(得分:34)
你还不能提交64位并仍然支持iOS 6.但是你可以在下个月使用。
参见https://developer.apple.com/news/index.php?id=9162013a
编辑:是的,如果你有armv7和armv7s,你仍然可以在iPhone 5s上运行,但是在32位模式下。我建议现在提交armv7 / armv7s,下个月加入arm64。
2013年11月1日更新:
根据2013-10-22版64-bit Transition Guide for Cocoa Touch,您现在可以使用Xcode 5.0.1生成包含64位和32位体系结构的二进制文件,并在较旧的iOS版本上运行。
答案 1 :(得分:13)
您必须使用iOS 7.0作为部署目标来构建arm64。 如果你想支持iOS 6.1,你最多必须坚持使用armv7s。由于arm64处理器可以在32位模式下运行,因此这应该不是问题。
答案 2 :(得分:6)
好的,我通过将“搜索路径”中的“始终搜索用户路径”更改为“否”来解决问题,一切正常。我将参数设置为“是”,程序仍然正常。我不知道为什么会这样。
当我更改具有程序的文件夹位置时,会发生此问题。
答案 3 :(得分:5)
当我添加BOOL变量时,我遇到了这个问题。 #import UIKit / UIKit.h 也显示为错误。以下是您需要从默认项目进行的更改的屏幕截图。
在: 后:
答案 4 :(得分:2)
答案 5 :(得分:0)
通过更改创建项目的位置解决了这个问题,在创建项目时,我保存在桌面上,当我创建存储库时,它显示了这个问题。
我希望这个答案有助于某人。
答案 6 :(得分:0)
我有几乎相同的错误堆栈。两个例外情况或多或少相同。和用户tjv一样,我在#import上也有错误。我没有与arm64相关的链接器错误。缺失的arm64可能是症状的关键区别。
我的问题是我在
中的项目文件中设置了几个预编译器宏Apple LLVM 5.1 - 预处理
部分。而不是设置MACRONAME=1
我键入了MACRONAME= 1
你可能已经猜到了。额外的空间使所有的差异。