iOS 64 位要求 iTunes Connect
iOS 64-bit requirement iTunes Connect
我继承了一个旧项目,里面有旧的第 3 方框架。
它在我的 iPhone 6 上运行良好,并且我已成功存档该应用程序以进行 AdHoc 部署。
但是,当我尝试将应用程序提交到 App Store 时,我收到有关缺少 64 位架构的错误消息。
当我将 Arm64 添加到我的目标(以及与此相关的项目)的构建设置中的体系结构和有效体系结构时,该应用程序将无法编译,因为其中一个框架是 "missing required architecture arm64"。然后链接失败,我无法创建存档。
因为上面提到的一些设置对我来说有一种巫术的感觉,我希望有一个设置的组合,以某种方式采用 32 位代码,但在编译为 64 位后显示它。
我查看了导致问题的框架的最新版本,但其文件结构和命名约定完全不同,因此升级需要大量工作。
大家有什么建议吗?
谢谢
我猜你有三个选择:1 - 它可能只是构建设置中的一个错误; 2 - 删除 64 位架构;或 3 - 重新编译旧框架以实现 64 位兼容性。
以防万一您只是在构建设置的某处出现错误。您是否检查过不同的发布方案是否设置正确,如下所示:
有时将 Build Active Architecture Only
标志更改为 no
对我也有帮助:
只需确保单击显示三角形为每个方案(调试和发布)设置正确的设置。
老框架的话,是手动包含还是使用CocoaPods之类的?我知道 CocoaPods 可以有自己的设置,只为 armv7 和 armv7s 而不是 arm64 构建。
Apple's guidelines 将现有应用程序转换为 64 位可能会有用。
如果您使用的是仅包含 32 位版本的编译库,您将无能为力。
iOS 上的大多数库都以源代码的形式提供,因此您需要做的就是找到合适的位置将它们编译为 64 位代码。您可能需要查看库的来源并下载新版本。如果没有可用的新版本,您可能必须自己编写代码或下载不同的库。一些开发人员有为单个十行方法导入庞大库的坏习惯,所以如果幸运的话,重写缺失的代码可能并不费力。
I hope that there is a combination of settings, that somehow takes 32-bit code, but presents it after compiling as 64 bit.
你好像是想作弊。你不能作弊。 now a requirement 应用程序为 64 位。此要求从 2015 年 6 月开始。Apple 提前发出了此更改的信号,作为开发人员,您自己至少收到了一封警告您的电子邮件!
如果您在此之前提交了应用程序的早期版本,则不是必需的。但现在是。
我继承了一个旧项目,里面有旧的第 3 方框架。 它在我的 iPhone 6 上运行良好,并且我已成功存档该应用程序以进行 AdHoc 部署。 但是,当我尝试将应用程序提交到 App Store 时,我收到有关缺少 64 位架构的错误消息。 当我将 Arm64 添加到我的目标(以及与此相关的项目)的构建设置中的体系结构和有效体系结构时,该应用程序将无法编译,因为其中一个框架是 "missing required architecture arm64"。然后链接失败,我无法创建存档。
因为上面提到的一些设置对我来说有一种巫术的感觉,我希望有一个设置的组合,以某种方式采用 32 位代码,但在编译为 64 位后显示它。
我查看了导致问题的框架的最新版本,但其文件结构和命名约定完全不同,因此升级需要大量工作。
大家有什么建议吗?
谢谢
我猜你有三个选择:1 - 它可能只是构建设置中的一个错误; 2 - 删除 64 位架构;或 3 - 重新编译旧框架以实现 64 位兼容性。
以防万一您只是在构建设置的某处出现错误。您是否检查过不同的发布方案是否设置正确,如下所示:
有时将 Build Active Architecture Only
标志更改为 no
对我也有帮助:
只需确保单击显示三角形为每个方案(调试和发布)设置正确的设置。
老框架的话,是手动包含还是使用CocoaPods之类的?我知道 CocoaPods 可以有自己的设置,只为 armv7 和 armv7s 而不是 arm64 构建。
Apple's guidelines 将现有应用程序转换为 64 位可能会有用。
如果您使用的是仅包含 32 位版本的编译库,您将无能为力。
iOS 上的大多数库都以源代码的形式提供,因此您需要做的就是找到合适的位置将它们编译为 64 位代码。您可能需要查看库的来源并下载新版本。如果没有可用的新版本,您可能必须自己编写代码或下载不同的库。一些开发人员有为单个十行方法导入庞大库的坏习惯,所以如果幸运的话,重写缺失的代码可能并不费力。
I hope that there is a combination of settings, that somehow takes 32-bit code, but presents it after compiling as 64 bit.
你好像是想作弊。你不能作弊。 now a requirement 应用程序为 64 位。此要求从 2015 年 6 月开始。Apple 提前发出了此更改的信号,作为开发人员,您自己至少收到了一封警告您的电子邮件!
如果您在此之前提交了应用程序的早期版本,则不是必需的。但现在是。