2012-09-26 67 views
24

我們剛剛將iOS版Facebook SDK更新至3.1。 Facebook SDK 3.0.8未在iOS6上運行,現在我們已升級到3.1,它在iOS 6上運行,但在iOS 5.x下崩潰。Facebook SDK 3.1 for iOS - 在iOS6上運行,但在iOS 5.x上崩潰

,因爲在iOS 5.x的AdSupport.framework程式的應用程序崩潰的瞬間,出現以下錯誤啓動後:

dyld: Library not loaded: /System/Library/Frameworks/AdSupport.framework/AdSupport 

Referenced from: /Volumes/Macintosh HD/Users/dmitrybaranov/Library/Application Support/iPhone Simulator/5.0/Applications/D6A93996-1E58-48A5-A457-DBC4FCCEE0EB/app.app/app 
   
Reason: image not found 
(lldb) 

有沒有人遇到這個問題? Facebook方面是否存在問題?那裏的人正在努力解決這個問題?

或者我們做錯了什麼?

回答

58

您是否將框架設置爲可選項?當您添加AdSupport.framework,Social.framework和Accounts.framework時,可以在右側的下拉菜單中選擇「必需」和「可選」。在這裏看到一個畫面例如: Link

另一件事是檢查在項目的「生成設置」是「基地SDK」是6.0的iOS部署目標「是的iOS 4.3。

我可以使用這些設置在我的iOS 5.1上創建FB SDK 3.1。

+0

非常感謝你..我正要回到Xcode 4.3和FBSDK 3.0 ..你爲我節省了很多麻煩.. – lukya

+0

謝謝 - 實際上我們應該更新https://developers.facebook.com/上的文檔docs/getting-started/facebook-sdk-for-ios/3.1/upgrades-from-3.0 /以反映這一點 –

+0

現在已經完成;-) –

10

如果你的目標IOS版本低於6.0,則需要進行AdSupport.framework程式Social.framework,並Accounts.framework可選聯。

請看附件截圖。 enter image description here

乾杯...... !!!

+1

這適用於我,iOS5.1.1和FB SDK 3.1。感謝您使用screencap清楚地展示它。 – GeneCode

+1

非常歡迎您! – VSN

+0

謝謝你:)真的你節省了我的時間:) –

1

對於閱讀此內容並使用Facebook SDK 3.6+ for iOS的任何人,您不再需要包含這些庫或將它們可選鏈接。見Facebook docs for Upgrading from 3.5 to 3.6:

「刪除添加到您的應用程序框架的依賴,當你安裝了Facebook SDK的SDK仍然依賴於他們,但現在加載它們自動地使設置更簡單的刪除這些框架/庫:。

Accounts.framework

AdSupport.framework

Security.framework

Social.framework

libsqlite3.dylib [或刪除-lsqlite3.0鏈接標誌]

[注:如果你的應用程序直接使用任何的API從這些框架/庫,你的項目還應該包括框架明確]」

+0

@JoeBlow將其從「構建階段」設置中的「鏈接二進制庫」列表中移除。我不認爲在Project Navigator中引用它們會引起任何後果或影響。如果您有很多目標並且沒有鏈接到任何目標的庫,您可以將它們從那裏刪除以減少混亂或減少混淆。 – MattyG

相關問題