的Facebook SDK为iOS6的/的Xcode 4.5不工作

问题描述:

可能重复:
file is universal (3 slices) but does not contain a(n) armv7s slice error for static libraries on iOS, anyway to bypass?的Facebook SDK为iOS6的/的Xcode 4.5不工作

最近升级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/)他们有这个文本peice的对..

升级到3.0 SDK。我们将在未来几周内将支持iOS 6集成到SDK中。

那么..是吗?我是否真的无法继续工作,直到他们支持iOS6,可能

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

感谢您提供任何帮助。

+0

http:// stackoverflow。com/questions/12402092/file-is-universal-3-slices-but-does-not-contain-an-armv7s-slice-error-for-st – Shmidt

+0

已经看过,没有任何建议工作。此外,当提交应用程序到App Store时,上传不会失败吗? – user1168056

+0

这个解决方案适用于我,希望它有助于:?文件是通用(3片),但不包含(N)armv7s幅误差在iOS静态库,反正绕过] [1] [1]:http://stackoverflow.com/a/12402966/1210822 – sonoshin

单击您的Xcode项目 - >在Architures选项卡 - >有效Architures - >保持armv7只,并删除armv7s。 在我的情况下,它工作正常,这只是temparary解决方案。

+0

是的,这就是我现在可以找到的..临时解决方案。我敢肯定,这些临时修复将失败App Store提交..我们很快就会发现我猜。 – user1168056

对于临时修复,您可以做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. 导航到/脚本,并在终端运行build_all.sh

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

祝你好运!

+1

伟大的答案,我是一个很大的粉丝:) – Jef

+1

不编译为armv7s不应该意味着该应用程序无法在iPhone 5上运行 - 如果是这样的话,然后旧的应用程序与4.5之前的Xcode版本(即大多数应用程序目前在App Store上)无法在iPhone 5上运行,并且您可以轻松验证它们确实可以。 iPhone 5明显向后兼容armv7 - 为armv7编译只是允许进行额外的编译优化,这在armv7中是不可用的。 –