无法build立模块达尔文 – arm64的问题

我开发了我的第一个XCode5 ONLY应用程序,它与我在4.6上完成的应用程序非常相似。 它在模拟器和我的iPhone 4,4S和5以及我的2个iPad上运行完全正常。 但是,当我尝试validation它提交给App Store时,我得到了一堆有关arm64的错误需要7.0.0或更高版本。 我将部署目标设置为6.1,当我在4.6中启动的Xcode 5中运行以前的应用程序时,这种情况不会发生。 如果我将部署目标更改为7.0,则一切正常。 这里发生了什么? 我需要更改哪些内容才能在6.1上进行validation? 谢谢。 Screengrab

编辑:好吧,我把构build设置的体系结构更改为标准(armv7,armv7s)删除arm64,一切正常。 那是正确的做法吗? 据推测,它仍然会运行在iPhone 5S,但不是在64位。 正确?

你还不能提交64位,但仍然支持iOS 6.但是,你将能够在下个月。

请参阅https://developer.apple.com/news/index.php?id=9162013a

编辑:是的,如果你有armv7和armv7s,你仍然可以在iPhone 5s上运行,尽pipe在32位模式下。 我build议现在提交armv7 / armv7s,下个月joinarm64。


更新2013年11月1日:

根据64位Cocoa Touch过渡指南的2013-10-22版本,现在可以使用Xcode 5.0.1生成包含64位和32位体系结构的二进制文件,并且可以在较旧的iOS版本上运行。

  • 你需要使用Xcode 5.0.1
  • 64位版本只能在运行iOS 7.0.3 +的64位设备上运行
  • 32位版本只能在运行iOS 5.1.1+的设备上运行
  • 运行iOS 7.0.0-7.0.2的64位设备将使用32位片

您必须使用iOS 7.0作为部署目标才能为arm64构build。 如果你想支持iOS 6.1,你最多只能坚持使用armv7。 由于arm64处理器可以运行在32位模式,这不应该是一个问题。

好的,我通过将“searchpath”中的“始终search用户path”更改为“否”来解决问题,并且一切正常。 我将参数设置为“是”,程序仍然正常。 我不知道为什么发生这种情况。

当我更改具有程序的文件夹的位置时发生此问题。

当我添加一个BOOLvariables时,我遇到了这个问题。 #import UIKit / UIKit.h也显示为错误。 以下是您需要从默认项目进行更改的屏幕快照。

之前: 在这里输入图像说明 后: 在这里输入图像说明

解决了这个问题,通过改变创build我的项目的位置,当创build我的项目,我保存在我的桌面上,当我创build一个存储库,它显示这个问题。

我希望这个答案有助于某人。

我有几乎相同的错误堆栈。 有两个例外或多或less相同。 和用户tjv一样,我在#import上也有错误。 而且我没有与arm64有关的链接器错误。 缺lessarm64可能是症状的关键区别。

我的问题是,我在我的项目文件中设置了几个预编译器macros

苹果LLVM 5.1 – 预处理

部分。 而不是设置MACRONAME=1我inputMACRONAME= 1正如你可能已经猜到了。 多余的空间使所有的差异。

您应该在Build设置中将Enable Modules(C和objective c)设置为NO: Apple LLVM 5.0languageModules

( 从官方论坛回答 )

在这里输入图像说明