返回

iOS报错Asset validation failed(90087),Asset validation failed (90125)的解决办法

Android

Asset validation failed(90087),Asset validation failed (90125):iOS 提审的常见问题

作为 iOS 开发者,你可能在提交应用到 App Store 时遇到过令人沮丧的“Asset validation failed(90087)”或“Asset validation failed (90125)”错误。别担心,这篇文章将深入探究这些错误的根源,并提供逐步的解决方案,让你顺利通过审核。

故障排除:追溯根源

这些错误通常源于你的应用程序包含的第三方库中存在 x86_64 和 i386 框架。在 Xcode 10 及更高版本中,Apple 弃用了对这些架构的支持,从而导致了这些报错。

解决方案:剔除 x86_64 和 i386 框架

为了解决这些错误,你需要从应用程序中剔除含有 x86_64 和 i386 框架的第三方库。以下是详细步骤:

  1. 识别问题库: 在 Xcode 中打开你的项目,转到“Build Phases”标签页,在“Link Binary With Libraries”部分找到并选中包含 x86_64 和 i386 框架的第三方库。

  2. 剔除框架: 点击“Remove”按钮,从库中删除这些框架。

  3. 重新编译: 选择“Build”菜单并点击“Build”命令,重新编译你的项目。

额外技巧:检查架构设置

如果重新编译后错误仍然存在,请检查 Xcode 中的架构设置:

  1. 排除架构: 在“Build Settings”标签页中,找到“Excluded Architectures”项,确保 x86_64 和 i386 架构已添加到列表中。

  2. 禁用架构: 找到“Architectures”项,从列表中移除 x86_64 和 i386 架构。

使用 Cocoapods 或 Carthage

如果您使用 Cocoapods 或 Carthage 管理第三方库,请执行以下额外步骤:

  • 更新库: 在终端中运行“pod update”或“carthage update”命令,更新你的库。

  • 清理项目: 选择“Product”菜单,然后点击“Clean Build Folder”命令。

常见问题解答

问:为什么 Apple 弃用了 x86_64 和 i386 架构?

答:Apple 希望简化应用程序的构建和部署过程,并优化设备性能。

问:我可以在项目中保留 x86_64 和 i386 框架吗?

答:不可以,提交到 App Store 的应用程序必须遵守 Apple 的架构要求。

问:剔除 x86_64 和 i386 框架会影响应用程序的兼容性吗?

答:一般不会,因为这些框架通常用于模拟器调试,而不再用于生产构建。

问:如果我无法从第三方库中移除 x86_64 和 i386 框架怎么办?

答:尝试联系库的开发人员,请求他们提供仅包含 armv7 和 arm64 架构的库版本。

问:剔除 x86_64 和 i386 框架后,我需要重新提交应用程序吗?

答:是的,你需要重新编译和提交你的应用程序,以确保它符合 App Store 的要求。

结论

通过遵循本文中概述的步骤,你应该能够解决 iOS 提审期间遇到的“Asset validation failed(90087)”和“Asset validation failed (90125)”错误。记住要保持项目的架构设置正确,并确保你的第三方库与 App Store 的要求保持一致。祝你提交过程顺利,应用程序审核顺利通过!