【问题标题】:Removing i386 and x86_64 from an embedded Cocoa Touch framework when archiving归档时从嵌入式 Cocoa Touch 框架中删除 i386 和 x86_64
【发布时间】:2014-12-02 13:34:15
【问题描述】:

Urban Airship 提供了一个名为 AirshipKit.framework 的 iOS 8+ 框架。链接和嵌入此框架在模拟器和设备中都可以正常工作。但是,当我存档二进制文件并对其进行验证时,iTunes Connect 说该应用程序包含不受支持的架构 i386 和 x86_64 的代码。如何让 Xcode 从归档应用程序中删除对这些架构的支持?

在构建设置下我有:

  • 架构:标准架构(armv7、armv7s)
  • 仅构建活动架构:是用于调试,否用于发布
  • 支持的平台: iOS
  • 有效架构: arm64 armv7 armv7s

【问题讨论】:

  • 将我的构建设置添加到问题中......我认为它们是正确的。

标签: ios xcode cocoa-touch app-store-connect urbanairship.com


【解决方案1】:

您可以使用lipo 将 arm 代码提取到一个新文件并提交该文件,但听起来有些错误 - 您不需要执行类似的操作来提交,这可能是一个错误在 Xcode 中。您使用的是哪个版本?构建中的任何其他设置是否已更改(如果构建设置从默认值修改,则文本将粗体)?

【讨论】:

    【解决方案2】:

    Urban Airship SDK 有一个新版本,5.0.3 使用新的 Framework 版本进行构建时,您是否仍然遇到此问题?

    【讨论】:

      【解决方案3】:

      我为同样的问题苦苦挣扎了几天,直到我意识到自己的愚蠢。我的应用程序设置为支持 7.0+,但我仍然拥有 Airship.framework,正如 UA(Urban Airship)文档严格建议的那样,它只能用于 8.0+ 我删除了框架,验证又成功了!

      因此,如果您的应用包含 7.0 或更低版本,那么您只需要 libUAirship-5+ 库即可。正如@aschuman 建议的那样,有一个新的可用(libUAirship-5.0.3.a)​​

      【讨论】:

        猜你喜欢
        • 2015-04-23
        • 2014-12-14
        • 1970-01-01
        • 2017-06-01
        • 2017-07-27
        • 2016-04-29
        • 1970-01-01
        • 1970-01-01
        • 2023-03-31
        相关资源
        最近更新 更多