【问题标题】:Xcode 5.1: missing required architecture arm64Xcode 5.1:缺少所需的架构 arm64
【发布时间】:2014-04-15 10:18:59
【问题描述】:

刚升级到Xcode 5.1,出现如下错误:

忽略文件 ...依赖关系/SalesforceNetworkSDK/libSalesforceNetworkSDK.a, 文件中缺少所需的架构 arm64 ...依赖关系/SalesforceNetworkSDK/libSalesforceNetworkSDK.a (3 切片)

如果我关闭仅构建活动拱门并从有效拱门中删除 arm64,我会得到:

Build/Products/Debug-iphoneos/libPods.a,文件是为存档而构建的 这不是被链接的架构(armv7)

【问题讨论】:

  • 我发现由于某种原因我的 Pods 构建设置被重置为 OSX 默认 i386,用 armv7 覆盖它们,并且 armv7s 让它构建,?!
  • 这可能是相关的:cameronspickert.com/2014/01/20/…
  • @matt,是的,谢谢,这看起来很有用且相关。我注意到它也针对 xcode 5.1 进行了更新。
  • 是的,Xcode 5.1 坚持为拥有它的设备提供 64 位,这给人们带来了很多意想不到的后果。 - 如果您最终解决了自己的问题,请随时回答您自己的问题;这是完全可以接受的,并且可能对其他人有所帮助。
  • 在这里查看我的答案:stackoverflow.com/questions/22323039/…

标签: ios xcode xcode5.1


【解决方案1】:

根据apple's release note,请看以下注意点。

注意:

打开您的 Xcode 5.1 中的现有项目:

  • 为所有架构构建时,删除任何显式 架构设置并使用默认的标准架构 环境。对于以前使用“标准”选择加入的项目 包括 64 位的架构,切换回“标准” 架构”设置。
  • 首次打开现有项目时,Xcode 5.1 可能 显示有关使用 Xcode 5.0 架构的警告 环境。选择警告提供了一个工作流程来修改 设置。
  • 不支持64位的项目需要专门设置 架构构建设置不包括 64 位。

所以你必须设置如下架构来支持库架构。

参考from this post

更新:5 月 15 日开始,您必须从 5.1.1 开始构建,see this post

【讨论】:

  • 感谢您的详细解答。它帮助我解决了我的问题。此外,对于使用 Cordova 的任何人,请确保您是在您的应用程序上执行此操作,而不是在 CordovaLib.xcodeproj 依赖项上执行此操作。我最终都这样做了,这解决了我的问题。
  • 在做任何事情之前先试试这个命令。我遇到了链接问题
【解决方案2】:

不知道以前的 iOS,但在 iOS 8 中将 Build Active Architecture 设置为 YES 就可以了。

【讨论】:

    【解决方案3】:

    我最终通过 (1) 关闭仅构建活动拱门 (2) 从有效拱门中移除 arm64 以及 (3) 确保 Pods 项目仅针对 armv7 和 armv7s 构建来构建我的项目。

    另外值得注意的是,在撰写本文时,Salesforce 移动 SDK 不适用于 arm64

    【讨论】:

      【解决方案4】:

      我刚刚将 Debug 从 Yes 更改为 No,

      Build Settings -> Architectures -> Build Active Architecture Only -> Debug -> NO.
      

      这个解决了我的错误。

      【讨论】:

      • 它可以工作,但构建时间会花费更多时间,调试时将其设置为 YES 是有原因的,以节省构建时间。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-12-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-12-20
      • 1970-01-01
      相关资源
      最近更新 更多