【问题标题】:Facebook SDK for iOS6/Xcode 4.5 not working [duplicate]适用于 iOS6/Xcode 4.5 的 Facebook SDK 无法正常工作 [重复]
【发布时间】:2012-09-12 20:30:40
【问题描述】:

可能重复:
file is universal (3 slices) but does not contain a(n) armv7s slice error for static libraries on iOS, anyway to bypass?

最近将 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 之前,我真的无法继续工作可能 几周

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

感谢您提供的任何帮助。

【问题讨论】:

  • 已经看过了,但这些建议都不起作用。另外,提交应用到App Store不会上传失败吗?
  • 这个解决方案对我有用,希望它有所帮助:[文件是通用的(3 片),但不包含 iOS 上静态库的 (n) armv7s 片错误,无论如何要绕过?][1 ] [1]:stackoverflow.com/a/12402966/1210822
  • 您需要将您的 facebook SDK 更新到 3.1.1

标签: xcode facebook sdk ios6 xcode4.5


【解决方案1】:

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

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

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

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

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

祝你好运!

【讨论】:

  • 很好的答案,我是忠实粉丝 :)
  • 不为 armv7s 编译不应意味着该应用程序不能在 iPhone 5 上运行 - 如果是这种情况,那么使用 4.5 之前的 Xcode 版本构建的旧应用程序(即大多数应用程序当前在App Store)也无法在 iPhone 5 上运行,您可以轻松验证它们确实可以。 iPhone 5 显然向后兼容 armv7 - 为 armv7 编译只允许额外的编译优化,而这些优化在 armv7 中不可用。
【解决方案2】:

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

【讨论】:

  • 是的,这就是我目前能找到的全部......临时解决方案。我确定这些临时修复程序将无法提交 App Store。我们很快就会发现。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-04-03
  • 1970-01-01
  • 2011-08-31
相关资源
最近更新 更多