存档时从嵌入式Cocoa Touch框架中删除i386和x86_64

时间:2014-10-08 00:56:56

标签: ios xcode cocoa-touch itunesconnect urbanairship.com

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

在构建设置下,我有:

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

3 个答案:

答案 0 :(得分:1)

您可以使用lipo将手臂代码提取到一个新文件并提交该文件,但这听起来有点非常错误 - 您不应该做这样的事情来提交,它可能是Xcode中的一个错误。你使用的是哪个版本?构建中的任何其他设置是否已更改(如果从默认值修改构建设置,文本将粗体)?

答案 1 :(得分:1)

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

答案 2 :(得分:0)

我在同样的问题上挣扎了几天,直到我意识到自己的愚蠢。我的应用程序设置为支持7.0+但我仍然有Airship.framework,这是UA(Urban Airship)文档严格推荐的,仅用于8.0 + 我删除了框架,验证恢复成功!

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