32

我开发了我的第一个 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 位。正确的?

4

7 回答 7

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 版本上运行。

  • 您需要使用 Xcode 5.0.1
  • 64位版本只能在运行iOS 7.0.3+的64位设备上运行
  • 32位版本只能在运行iOS 5.1.1+的设备上运行
  • 运行 iOS 7.0.0-7.0.2 的 64 位设备将使用 32 位切片
于 2013-09-22T11:14:17.113 回答
13

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

于 2013-09-22T11:07:54.573 回答
6

好的,我通过将“搜索路径”中的“始终搜索用户路径”更改为“否”来解决问题,一切正常。而且我把参数设置为“是”,程序还是可以的。我不知道为什么会这样。

当我更改包含该程序的文件夹的位置时,就会发生此问题。

于 2015-09-04T15:39:00.037 回答
5

I had this issue rise up when I added a BOOL variable. #import UIKit/UIKit.h also showed as an error. Here is a screen shot of the changes you need to make from the default project.

Before: enter image description here After: enter image description here

于 2013-10-23T00:03:37.607 回答
1

您应该在构建设置中将启用模块(C 和目标 c)设置为 NO: Apple LLVM 5.0- language- Modules

来自官方论坛的回答

在此处输入图像描述

于 2017-12-24T07:44:18.157 回答
0

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

我希望这个答案对某人有所帮助。

于 2014-01-23T16:49:36.640 回答
0

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

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

Apple LLVM 5.1 - 预处理

部分。而不是设置MACRONAME=1我输入MACRONAME= 1 你可能已经猜到了。额外的空间让一切变得不同。

于 2014-05-14T20:19:00.940 回答