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

iOS应用提交:缺少64位支持,ios,architecture,app-store,xcode6,arm64,Ios,Architecture,App Store,Xcode6,Arm64,我昨天发送了一个应用程序进行审查,没有问题。然后我意识到我有一个非常小的修复要做(将地图的最大缩放级别从19更改为18,没有其他),所以我从iTunes Connect中删除了二进制文件,并尝试重新提交 现在我有一个警告: 我不明白为什么,因为我的架构是: 架构:armv7 有效架构:armv6、armv7、armv7s、arm64 该应用程序在模拟器中运行良好。如果我尝试使用警告中建议的标准体系结构(armv7、arm64),那么应用程序将无法生成,我会得到: 架构x86_64的未定义

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

现在我有一个警告:

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

  • 架构:armv7
  • 有效架构:armv6、armv7、armv7s、arm64
该应用程序在模拟器中运行良好。如果我尝试使用警告中建议的标准体系结构(armv7、arm64),那么应用程序将无法生成,我会得到:

  • 架构x86_64的未定义符号
  • ld:找不到架构x86_64的符号
我正在使用库路由我,我设置了相同的体系结构设置。

使用“
标准体系结构”
”如下所示:

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

  • 此外,从mac上拔下iPhone和iPad也有帮助,特别是在32位版本的情况下
正如托尼所写,在这两行中设置这些设置很重要。 由于我的(当然还有您的)项目是在arm64被添加到标准之前创建的,所以即使它显示为标准,它也不会反映在“有效的体系结构”中

我所做的:

  • 我转到项目(与目标)配置
  • 在有效的体系结构中键入“arm64”(它会自动反映在目标和模式中)
在清理/构建之后,我甚至收到一些关于将float转换为CGFloat等错误的警告,因此设置显然适用

验证警告也消失了


确认正确的体系结构后,在存档最终版本以提交到应用商店时,确保设备未连接到计算机


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

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

此外,请检查目标和项目中的“有效体系结构”。我在项目中有正确的设置,但在目标上没有。在这之后,它对我有效


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

从Mac上拔下物理设备。在“设备上的XCode”列表中,选择iOS设备并再次创建存档。这对我很有效。

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

建筑设置:

体系结构:标准体系结构(arm7、arm64)-$(ARCH_标准)

有效架构:armv7 armv7s arm64

  • 在连接iPhone的情况下清理并构建应用程序
  • 断开iPhone连接并检查顶部栏是否位于“iOS设备”中
  • 档案馆
  • 验证并提交

  • 我通过改变解决了这个问题

    架构:arm7、arm64

    有效架构:arm7、arm64


    仅构建活动架构:是

    我通过配置提交了成功,如图所示:


    (使用real device存档)

    只需使用最新的xCode版本创建一个新项目,然后查找生成设置。默认情况下,使用最新版本创建的新项目具有64个支持


    摆脱了每一个警告。一遍又一遍地检查每一件事。在上面找到了一个单词的答案

    “仅生成活动体系结构-否(特别是…如果您连接的设备不兼容arm64)”

    我的iPad不是64位的。在构建活动架构时输入NO,我的提交就成功了!

    好吧,这太疯狂了。 我尝试了每个单一答案。但只有当我将
    arm64
    放在
    armv7
    armv7s
    之前的有效架构中时,它才起作用


    注意:
    xcode版本:7.2

    请选中构建活动体系结构选项。将其设置为否。
    这对我来说很有效。

    我们也有这个问题。:(也是从昨天开始的吗?1)在更改后尝试清除Xcode的派生数据;2)可能您使用的是旧的外部api、sdk、框架,etc@Tim你把它修好了吗?你能发布解决方案吗?嗨,对不起,我没有找到解决方案,我不再从事这个项目了。现在这只是一个警告,所以我已经能够提交该应用程序。谢谢你的回答,但正如我在问题中所说的,我已经尝试过了,并且该项目没有使用以下设置编译:/@Tim,是的,我在Architectures中也有
    armv7和arm64
    。不过,验证应用程序提交时仍会出现“缺少64位支持”警告。@NAZIK两行中是否都有arm64(体系结构和有效体系结构)?我也犯了同样的错误,这就是solution@Tim尝试清理您的衍生数据并检查您最新的外部框架或SDK(如果它们有64位Support)。此外,在存档最终版本时,请确保您的设备未连接。请参见@powertoold answer bellow()脱帽致敬!:你节省了我的时间,帮了我大忙!!在这件事上节省了我很多时间。升级旧应用的好技巧。我相信,如果您将生成设置
    仅构建活动体系结构
    更改为
    ,您可以保持非64位设备的连接。这将强制xcode构建64位二进制文件,而不管连接的是什么设备