13

可能重复:
文件是通用的(3 个切片),但不包含 iOS 上静态库的 (n) armv7s 切片错误,无论如何要绕过?

最近将 Xcode 和我的 iOS 设备升级到各自的最新版本,我现在无法使用 Facebook SDK(版本 3.0.8)为设备构建应用程序 - 在模拟器上构建工作正常。

我在尝试构建时收到的错误:

file is universal (3 slices) but does not contain a(n) armv7s slice: ....FacebookSDK.framework/FacebookSDK for architecture armv7s

我注意到在 iOS SDK 登录页面(http://developers.facebook.com/ios/)上,他们有这样一段文字。

升级到 3.0 SDK。在接下来的几周内,我们将添加对 SDK 中备受期待的 iOS 6 集成的支持。

所以..是这样吗?在他们支持 iOS6 之前,我真的无法继续工作数周吗?

我希望有一个快速解决这个问题的方法,当然我不能成为这种情况下唯一的一个。

谢谢你尽你所能的帮助。

4

2 回答 2

15

对于临时修复,您可以按照 Sudhakar 所说的进行操作,但该应用程序无法在 iPhone 5 上运行(或者至少在我的测试中没有运行)。你真的需要一个正确编译的 SDK。

当前的 Facebook SDK 是为 armv6 构建的。我听说他们正在努力尽快推出为 armv7 构建的新版本。

同时,您可以从 github 克隆 facebook SDK 并自己编译 SDK 以使用 armv7。以下是说明:

  1. 从 git 中心页面 (https://github.com/facebook/facebook-ios-sdk) 下载或克隆源代码的副本
  2. 打开 xcode 项目并在构建设置中将架构更改为 armv7。
  3. 保存并关闭
  4. 导航到 /scripts 并在终端中运行 build_all.sh

然后,这将编译源和输出 builds/FacebookSDK.framework 为了让它工作,我必须将 git 存储库克隆到 /Desktop/iOS 我用新创建的版本替换了我的应用程序中的 FacebookSDK.framework,它的工作方式就像一种魅力。

祝你好运!

于 2012-09-22T02:11:37.073 回答
8

单击您的 Xcode 项目 -> 在架构选项卡中 -> 有效架构 -> 仅保留 armv7 并删除 armv7s。就我而言,它工作正常,这只是临时解决方案。

于 2012-09-20T13:57:22.833 回答