2012-09-20 64 views
13

可能重複:
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

回答

8

單擊您的Xcode項目 - >在Architures選項卡 - >有效Architures - >保持armv7只,並刪除armv7s。 在我的情況下,它工作正常,這只是temparary解決方案。

+0

是的,這就是我現在可以找到的..臨時解決方案。我敢肯定,這些臨時修復將失敗App Store提交..我們很快就會發現我猜。 – user1168056

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. 導航到/腳本,並在終端運行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中是不可用的。 –