ChatGPT解决这个技术问题 Extra ChatGPT

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

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

现在我有这个警告:

https://i.stack.imgur.com/TXpQT.png

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

架构:armv7

有效架构:armv6、armv7、armv7s、arm64

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

架构 x86_64 的未定义符号

ld:未找到架构 x86_64 的符号

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

我们也有这个问题。 :(
还从昨天开始?
1) 更改后尝试清除 Xcode 的 DerivedData; 2) 也许您使用的是较旧的外部 api、sdk、框架等
@Tim 您是否设法解决了这个问题?你能发布解决方案吗?
嗨,对不起,我没有找到解决方案,我不再从事这个项目了。现在这只是一个警告,所以我已经能够提交应用程序。

B
Brian Webster

像这样使用“Standard architectures”:

架构:“标准架构”arm7、arm64

有效架构:“arm64”,armv7 ...

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

像这样:

https://i.stack.imgur.com/kbPz5.jpg

此外,众所周知,从 mac 上拔下 iphone 和 ipad 会有所帮助,尤其是在它们是 32 位版本的情况下。


感谢您的回答,但正如我的问题中所述,我已经尝试过了,并且该项目无法使用此设置进行编译:/
@Tim,是的,我在 Architechtures 也有 armv7 and arm64。尽管如此,在验证应用程序是否提交时仍会出现缺少 64 位支持的警告。
@NAZIK 你在两行(架构和有效架构)中都有 arm64 吗?我有同样的错误,这就是解决方案
@Tim 尝试清理您的 DerivedData 并检查您最新的外部框架或 SDK 是否支持 64 位
此外,请确保在存档最终版本时未连接您的设备。请参阅下面的@powertoold 答案(stackoverflow.com/a/26848865/1715004
p
powertoold

确认正确的架构后,请确保您的设备在归档最终构建以提交到 App Store 时未连接到您的计算机。

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


脱帽致敬! :D 你节省了我的时间
大帮助!!在这方面为我节省了很多时间。升级旧应用程序的好技巧。
如果您将构建设置 Build Active Architecture Only 更改为 No,我相信您可以保持非 64 位设备的连接。无论连接什么设备,这都会强制 xcode 构建 64 位二进制文件。
除了@jxmallett 的回答,请确保您的方案配置存档设置为发布,其中 Build Active Architecture 设置为 NoSet Archive Scheme
仅供参考,我必须拔掉我的设备,切换到模拟器,然后切换回“iOS 设备”才能正常工作。
N
Nick Entin

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

我做了什么:

我去了项目(与目标)配置

在有效架构中键入“arm64”(它会自动反映在目标和模式中

在清理/构建之后,我什至收到一些关于将浮点数不当转换为 CGFloat 等的警告,因此显然应用了这些设置。

验证警告也消失了!

https://i.stack.imgur.com/HEnT9.png


>即使显示为标准,也没有反映在“有效架构”中。这对我来说是重点。谢谢!
如果它对其他人有帮助,我必须同时更改 Project 和 Target 才能开始工作
@djburdick 谢谢。当没有其他方法时,这对我有用。
h
hrast

从 Mac 上拔下您的物理设备。在 XCode on device list 中选择 iOS Device 并再次创建 Archive。它对我有用。


L
Leonel Folmer

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

建筑设置:

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

有效架构:armv7 armv7s arm64

清理并在连接 iPhone 的情况下构建您的应用断开您的 iPhone 并检查顶部栏是否在“iOS 设备”存档中验证并提交


@Timuçin。抱歉我的回复晚了,你是对的:armv7 armv7s arm64。
K
Kirit Vaghela

只需使用最新的 xCode 版本创建一个新项目并找到构建设置。使用最新版本创建的新项目默认支持 64 位。

https://i.stack.imgur.com/3Oay9.png


不到 2% 的人使用 iOS 6 或更低版本。 developer.apple.com/support/appstore
p
prad

好吧,这太疯狂了。我尝试了每一个单个答案。但它只有在我将 arm64 放在 Valid Architectures 中的 armv7armv7s 之前才有效。

PS:xcode version : 7.2


是的。只有在那时并且只有在连接设备之后才会显示实际的错误日志。然后出现了一些已弃用且需要(红色)修复的代码行以及 RSA lib 的一些问题。
u
user3616535

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

架构:arm7、arm64

有效架构:arm7,arm64

仅构建活动架构:是


B
Bkillnest

https://i.stack.imgur.com/qE2hF.png

(用真机存档)


应该将释放模式设置为 no
M
Mountain Man

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

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

我的 iPad 不是 64 位的。为构建活动架构输入否,我的提交工作!


u
user1122069

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

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

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


你真的是说5.1.1? 5.1还不够新?
有段时间了。我不知道也不记得这其中的逻辑。只需执行这些步骤,某些东西可能会回到正确的位置。摆弄提到的架构和所有页面。
P
PRITAM SATPUTE

请检查构建活动架构选项。将其设置为否。这个对我有用。


关注公众号,不定期副业成功案例分享
关注公众号

不定期副业成功案例分享

领先一步获取最新的外包任务吗?

立即订阅