iOS 应用程序提交:缺少 64 位支持
声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow
原文地址: http://stackoverflow.com/questions/26790554/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me):
StackOverFlow
iOS app submission : missing 64-bit support
提问by Tim Autin
I sent an app yesterday for review, with no problem. I then realized that I had a very little fix to do (changing the max zoom level of a map from 19 to 18, nothing else), so I removed the binary from iTunes Connect, and tried to resubmit.
我昨天发送了一个应用程序进行审核,没有问题。然后我意识到我需要做的修复很少(将地图的最大缩放级别从 19 更改为 18,没有别的),所以我从 iTunes Connect 中删除了二进制文件,并尝试重新提交。
Now I'm having this warning :
现在我有这个警告:
I don't understand why, as my architectures are :
我不明白为什么,因为我的架构是:
- architectures : armv7
- valid architectures : armv6, armv7, armv7s, arm64
- 架构:armv7
- 有效架构:armv6、armv7、armv7s、arm64
The app runs fine in the simulator. If I try to use the standard architectures (armv7, arm64) as recommended in the warning, then the app won't build and I get :
该应用程序在模拟器中运行良好。如果我尝试使用警告中推荐的标准架构(armv7、arm64),那么应用程序将无法构建,我得到:
- Undefined symbols for architecture x86_64
- ld: symbol(s) not found for architecture x86_64
- 体系结构 x86_64 的未定义符号
- ld:找不到架构 x86_64 的符号
I'm using the lib route-me, and I set the same architecture settings.
我正在使用 lib route-me,并设置了相同的架构设置。
回答by TonyMkenu
Use "Standard architectures
" like this:
Standard architectures
像这样使用“ ”:
- Architecture: "Standard architectures" arm7, arm64
- Valid Architectures: "arm64" , armv7...
- Build Active Architecture Only - NO(specially... if your connected device is not arm64 compatible)
- 架构:“标准架构” arm7、arm64
- 有效架构:“ arm64”、armv7...
- 仅构建主动架构 - 否(特别是...如果您连接的设备与 arm64 不兼容)
like this:
像这样:
- Additionally, unplugging iphones and ipads from the mac has been known to help, especially if they are 32-bit versions.
- 此外,众所周知,从 mac 上拔下 iphone 和 ipad 会有所帮助,特别是如果它们是 32 位版本。
回答by powertoold
After confirming the correct architectures, make sure your device is NOT connected to your computer when ARCHIVING the final build to submit to the App Store.
确认正确的架构后,在归档最终版本以提交到 App Store 时,请确保您的设备未连接到您的计算机。
The reason this warning appears is because the DEVICE you have connected is probably not arm64 compatible.
出现此警告的原因是您连接的设备可能与 arm64 不兼容。
回答by Nick Entin
As Tony wrote, it's important to have in both lines those settings. Since my (and obviously your) project was created yet before arm64 was added to standard, it is not reflected in "Valid Architectures" even if it is shownas Standard.
正如托尼所写,重要的是在这两行中都有这些设置。由于我的(显然是你的)项目是在 arm64 添加到标准之前创建的,因此即使它显示为标准,它也不会反映在“有效架构”中。
What I did:
我做了什么:
- I went to Project (vs. Target) configuration
- Typed"arm64" in the Valid Architectures (it's automatically reflected in targets and schemas
- 我去了项目(与目标)配置
- 在有效架构中键入“arm64”(它会自动反映在目标和架构中
After clean/build I even get some warnings about improper conversion of float to CGFloat, etc., so the settings obviously applied.
在清理/构建之后,我什至收到了一些关于将浮点数转换为 CGFloat 不正确的警告,等等,因此显然应用了设置。
The validation warning disappeared too!
验证警告也消失了!
回答by hrast
Unplug your physical device from Mac. In XCode on device list choose iOS Device and create Archive again. It worked for me.
从 Mac 上拔下您的物理设备。在设备列表上的 XCode 中选择 iOS 设备并再次创建存档。它对我有用。
回答by Leonel Folmer
Today I solve that problem with the following steps:
今天我通过以下步骤解决了这个问题:
Building Settings:
建筑设置:
Architectures:Standard architectures(arm7,arm64) - $(ARCH_STANDARD)
架构:标准架构(arm7,arm64) - $(ARCH_STANDARD)
Valid Architectures:armv7 armv7s arm64
有效架构:armv7 armv7s arm64
- Clean and build your app with the iPhone connected
- Disconnect your iPhone and check the top bar if is in "iOS Device"
- Archive
- Validate and Submit
- 在连接 iPhone 的情况下清理和构建您的应用程序
- 断开您的 iPhone 并检查顶部栏是否在“iOS 设备”中
- 档案
- 验证并提交
回答by Kirit Vaghela
Just Create a New Project using latest xCode version and find the Build settings. The new project created using latest version have 64 support by default.
只需使用最新的 xCode 版本创建一个新项目并找到构建设置。使用最新版本创建的新项目默认支持 64。
回答by prad
Okay this was insane.
I tried everysingle answer. But it worked only when I placed arm64
before armv7
and armv7s
in Valid Architectures.
好吧,这太疯狂了。我尝试了每一个答案。但它仅在我放置在 Valid Architecturesarm64
之前armv7
和armv7s
中时才有效。
P.S. : xcode version : 7.2
附注: xcode version : 7.2
回答by Mountain Man
Got rid of every warning. Went through everything over and over. Found the one word answer here above.
摆脱了所有警告。一遍遍地经历一切。在上面找到了一个词的答案。
"Build Active Architecture Only - NO (specially... if your connected device is not arm64 compatible)"
“仅构建主动架构 - 否(特别是...如果您连接的设备与 arm64 不兼容)”
My iPad is not 64 bit. Put in NO for Build Active Architecture and my submission worked!
我的 iPad 不是 64 位的。为 Build Active Architecture 设置 NO,我的提交成功了!
回答by user3616535
I solved the problem by changing,
我通过改变解决了这个问题,
Architectures: arm7,arm64
架构:arm7,arm64
Valid architecture: arm7,arm64
有效架构:arm7,arm64
Build active architecture only : Yes
仅构建主动架构:是
回答by Bkillnest
I submitted success by config as the image:
我通过配置提交成功作为图像:
(Archived with real device)
(用真机存档)