iOS应用提交:缺少64位支持

时间:2014-11-06 22:25:12

标签: ios architecture app-store xcode6 arm64

我昨天发了一个应用程序进行审核,没问题。然后我意识到我做了很少的修复(将地图的最大缩放级别从19改为18,没有别的),所以我从iTunes Connect中删除了二进制文件,并尝试重新提交。

现在我有这个警告:

warning_xcode

我不明白为什么,因为我的架构是:

  • 架构:armv7
  • 有效架构:armv6,armv7,armv7s,arm64

该应用程序在模拟器中运行良好。如果我尝试使用警告中建议的标准体系结构(armv7,arm64),那么应用程序不会构建,我会得到:

  • 架构x86_64的未定义符号
  • ld:找不到架构x86_64的符号

我使用了lib route-me,并设置了相同的架构设置。

12 个答案:

答案 0 :(得分:106)

使用" Standard architectures"像这样:

  • 架构:"标准架构" arm7, arm64
  • 有效架构:" arm64 " ,armv7 ......
  • 仅构建活动架构 - (特别是......如果您连接的设备不兼容arm64)
像这样:

enter image description here

  • 此外,众所周知,从mac上拔下iphone和ipads是有帮助的,特别是如果它们是32位版本。

答案 1 :(得分:68)

确认正确的体系结构后,确保在归档最终版本以提交到App Store时,您的设备未连接到计算机。

出现此警告的原因是您连接的设备可能不兼容arm64。

答案 2 :(得分:37)

正如托尼所写,重要的是在这两个行中都有这些设置。 由于我的(显然是您的)项目是在arm64添加到标准之前创建的,因此即使显示为标准,它也不会反映在“有效体系结构”中。

我做了什么:

  • 我参加了Project(vs. Target)配置
  • 在有效体系结构中键入“arm64”(它自动反映在目标和模式中

在清理/构建之后,我甚至得到一些关于浮动到CGFloat等的不正确转换的警告,所以显然应用了设置。

验证警告也消失了!

enter image description here

答案 3 :(得分:27)

从Mac上拔下您的物理设备。在设备列表中的XCode上选择iOS设备并再次创建存档。它对我有用。

答案 4 :(得分:5)

今天我通过以下步骤解决了这个问题:

建筑设置:

体系结构:标准体系结构(arm7,arm64) - $(ARCH_STANDARD)

有效架构: armv7 armv7s arm64

  1. 使用iPhone连接清洁并构建您的应用
  2. 断开iPhone并检查顶部栏是否在“iOS设备”
  3. 存档
  4. 验证并提交

答案 5 :(得分:3)

使用最新的xCode版本创建一个新项目,然后找到Build设置。使用最新版本创建的新项目默认支持64。

enter image description here

答案 6 :(得分:2)

好的,这太疯狂了。 我尝试了每个单一答案。但只有当我在arm64之前armv7armv7s放置有效架构​​时,它才有用。

P.S。 :xcode version : 7.2

答案 7 :(得分:1)

我通过改变来解决问题,

架构:arm7,arm64

有效架构:arm7,arm64

仅构建活动架构:是

答案 8 :(得分:0)

将iOS开发目标更改为至少5.1.1,或者删除标准体系结构设置并重新应用它。您可能已经看到警告arm64与您的构建目标不兼容。在概述页面上,检查构建和目标"部署目标"设置。就我而言,目标是6.0,但项目是5.0。

另外,检查"有效架构"在您的目标和项目中。我在项目上有正确的设置,但没有在目标上。在此之后,它对我有用。

在框左上角的概述页面上切换项目/目标。

答案 9 :(得分:0)

我通过config提交了成功的图像: enter image description here

(使用真实设备存档)

答案 10 :(得分:0)

摆脱每一个警告。一遍又一遍地经历一切。在上面找到了一个单词的答案。

“仅构建活动架构 - 否(特别是......如果您连接的设备不兼容arm64”)

我的iPad不是64位。在Build Active Architecture中输入NO,我的提交工作正常!

答案 11 :(得分:0)

请检查Build Active Architecture选项。将其设置为NO。 这个对我有用。