2012-03-04 88 views
3

我有一個iPhone應用程序正在向Facebook發送消息,它與iOS SDK 4一起工作正常,但當試圖在IOS SDK 5上運行時,它不工作並顯示發佈並保留爲錯誤。Facebook API支持IOS SDK 5

我們也完成了「禁用ARC」和FB文件的編譯工作,但我們的其他項目源不需要製作「禁用ARC」,因爲它是典型的iOS 5項目。如果我們「禁用ARC」,那麼我們必須在所有來源中添加「釋放」,「保留」等。是什麼使FB編譯沒有「禁用ARC」。無論是可以或不可以解決?

我們怎樣才能解決這個問題?或者發送有用的鏈接,下載運行在IOS SDK5 Facebook的API。

+0

如果你關閉ARC,你會擺脫這些錯誤(並得到一大堆新的:-) – 2012-03-04 08:09:23

+0

@kalyan安德拉你有你的解決方案...? – Kamarshad 2012-03-04 18:43:42

回答

8

這些錯誤來了,因爲你與ARC啓用類嵌入非ARC文件(臉譜類)(我想,當你提到的錯誤retain,release)。

我想簡短說明,啓用Automatic Reference Counting(ARC),該編譯器會自動在您的程序的正確位置插入retainreleaseautorelease。您不再需要擔心關於這一點,因爲編譯器爲你做。

我認爲,使用Facebook類(SDK)中ios 5,無需另外ios 5兼容Facebook SDK。我這麼認爲,Facebook的尚未創建ios 5兼容facebook ios SDK。 所以在這裏爲了在ARC已啓用代碼(ios 5)中使用這些Facebook類,您只需要禁用這些Facebook類的ARC(即我們向編譯器表明我們將關注這些類的內存管理(Facebook Classes ))。

這樣做後,你永遠不會得到這些錯誤。

在爲這些Facebook類禁用ARC之後,您可以輕鬆創建運行(構建)應用程序而不會出錯。

對於禁用ARC你只需要設置"-fno-objc-arc"標誌,看看你會怎麼做。

1)轉到應用程序目標。

2)選擇構建階段。

3)編譯信息源 - >設置"-fno-objc-arc"所有Facebook類的標誌。

現在再次運行應用程序。

我希望它會幫助你。

0

您可以禁用自動引用計數對於這些類。

請按照步驟操作。在目標 - >構建階段 - >編譯源中添加編譯器標誌。

的Xcode Disabling ARC

使用的標誌是寫它之後-fno-objc-arc按回車!您必須雙擊編譯器標誌下面的那一行的右列。希望它有幫助謝謝:)