2012-03-05 117 views
2

我想在iPhone應用程序中使用facebook-ios-sdk。我遵循設置說明,它在模擬器上完美工作,但我無法讓它在我的實際設備上運行。我使用的是Xcode 4.3,我的部署目標是3.1(使用ARC)。Facebook的iOS SDK只編譯爲armv7

當我嘗試在設備上運行應用程序時,它抱怨說它無法鏈接facebook-ios-sdk,因爲靜態鏈接庫(根據使用ARC時的建議)不支持armv6?根據facebook-ios-sdk頁面,它確實支持它。

有沒有比facebook-ios-sdk頁面上介紹的包含armv6的鏈接庫有不同的編譯方式?

+0

是的,只是看你的項目設置,搜索的ARMv7和ARMv6的,新的Xcode是愚蠢的IM某些方面 – 2012-03-05 09:44:29

+0

我的項目設置是否正確既用於ARMv6和ARMv7工作。當我刪除facebook-ios-sdk時,它在我的手機上運行良好,但是當它嘗試鏈接facebook-ios-sdk通用庫時,它抱怨該庫沒有armv6支持。 – 2012-03-05 09:51:15

回答

2

除了rogchap提到什麼工作,是有效的架構「的ARMv6的ARMv7」的價值您的facebook-ios-sdk項目的構建設置?

而只是可以肯定,我的架構設置讀取不帶引號如下:

「的ARMv6 $(ARCHS_STANDARD_32_BIT)」

+0

Jip,做到了。謝謝。 – 2012-03-12 11:44:35

3

打開facebook-ios-sdk.xcodeprodj,然後在Build Settings - > Architectures中添加armv6。通過附帶的腳本 構建/重建靜態庫:

./scripts/build_facebook_ios_sdk_static_lib.sh 

國會圖書館應該現在armv6armv7

+0

只要我加上'armv6'的腳本不能編譯:「沒有架構來編譯(ARCHS = ARMv6的ARMv7的,VALID_ARCHS = I386)」 – 2012-03-12 05:44:23

+0

謝謝你,在答案組合從@Steven它的工作,但他更全面。 – 2012-03-12 11:45:07

1

另一個提示:檢查您的Info.plist文件的關鍵「所需的設備能力「,並確保沒有像'armv7'這樣的價值。這將排除armv6設備。