2012-10-10 32 views
5

我正在使用this鏈接。但是我真的被困在這裏,我得到了20個重複和重新定義的錯誤。包括不推薦的facebook頭文件夾給出錯誤

發生這種情況時,我將facebookSDK/FacebookSDK.h替換爲Facebook.h。在此之前,如在教程中所述,我包括來自Facebook sdk的文件夾「Deprecated header」。

根據這個Facebook的教程:

第2步:發送請求

要調用必須引用Facebook的Facebook的對話框棄用頭。頭文件可以在這裏找到〜Documents/FacebookSDK/FacebookSDK.framework/Versions/A/DeprecatedHeaders。拖動整個DeprecatedHeaders文件夾,並取消選中「將項目複製到目標組的文件夾(如果需要)」選項,以添加標題作爲參考。

現在您可以進行所需的代碼更改。在您的應用程序代理進口Facebook.h頭文件,並替換Facebook的框架進口報關:

#import "Facebook.h" 

這將讓你做出調用FBDialog類。 Facebook.h頭包含頭文件。如果您在Xcode識別Facebook.h文件時遇到任何問題,請關閉並重新打開Xcode項目。

在應用程序委託頭文件,宣佈將持有Facebook的實例的屬性:

@property (strong, nonatomic) Facebook *facebook; 

在應用程序委託實現文件,合成Facebook的屬性:只要

@synthesize facebook = _facebook; 

我這樣做..我得到錯誤,不能編譯。

Plz help

+0

只是確保你使用的是最新的Facebook SDK 3.1 facebook的到你的應用程序集成,看看這個的http://開發商.facebook.com/features/whats-new-ios-sdk-3.1/ – Singh

+0

嗨,我使用的是最新版本的Facebook SDK ..但現在我認爲,如果它不工作,那麼我應該更喜歡舊的... – Rakesh

回答

11

終於解決了。

我刪除使用以下步驟錯誤:

我在我的項目替換#進口「FacebookSDK/FacebookSDK.h」與#進口「FBSession.h」無處不在。和其他的事情我只在Appdelegate.h中使用#import「facebook.h」。這解決了這個錯誤我,我什麼也沒做多餘的

希望這將有助於有人在這裏

+2

實際上,簡單地用'「Facebook.h」替換''的導入就行,不需要單獨包含'FBSession.h'。 –

+1

@rakesh:請詳細說明您的答案。我面臨着同樣的問題,用「Facebook.h」替換的導入對我來說並沒有什麼用。 – aToz

+1

我在我的項目的任何地方都用#import「FBSession.h」替換#import「FacebookSDK/FacebookSDK.h」。和其他的事情我只在Appdelegate.h中使用#import「facebook.h」。這解決了我的錯誤,我沒有做任何額外的事情。讓我知道這是否有助於您 – Rakesh