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

Tim*_*tin 92 architecture app-store ios arm64 xcode6

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

现在我有这个警告:

warning_xcode

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

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

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

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

我正在使用lib route-me,我设置了相同的架构设置.

Ton*_*enu 106

Standard architectures像这样使用" ":

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

像这样:

在此输入图像描述

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

  • @Tim,是的,我在Architechtures也有'armv7和arm64`.仍然,在验证应用程序的提交时,会发生缺少64位支持警告. (3认同)
  • 此外,在归档最终版本时,请确保未连接设备.请参阅@powertoold answer bellow(/sf/answers/1879420581/) (3认同)
  • 感谢您的回答,但正如我在问题中所述,我已经尝试过,并且该项目无法使用此设置进行编译:/ (2认同)

pow*_*old 68

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

出现此警告的原因是您连接的DEVICE可能与arm64不兼容.

  • 帽子!:D你节省了我的时间 (4认同)
  • 除了@jxmallett的回答之外,请确保您的Scheme配置存档设置为Release,其中`Build Active Architecture`设置为`No`.[设置存档方案](http://stackoverflow.com/a/30972570/1635363) (3认同)

Nic*_*tin 37

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

我做了什么:

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

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

验证警告也消失了!

在此输入图像描述


小智 27

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


Leo*_*mer 5

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

建筑设置:

架构:标准架构(arm7,arm64) - $(ARCH_STANDARD)

有效的架构: armv7 armv7s arm64

  1. 在连接iPhone的情况下清理并构建您的应用程序
  2. 断开iPhone并检查顶部栏是否在"iOS设备"中
  3. 档案
  4. 验证并提交