由於我的應用程序使用ARC,我正在使用Facebook的SDK獲取各種構建錯誤。我試圖從編譯器中刪除Facebook文件以避免這種情況,但是當我刪除Facebook.m文件時,出現Apple Mach-O錯誤。如果我把它放回到編譯源中,我會遇到ARC錯誤。iPhone ARC&Facebook SDK
有人碰到過這個嗎?
由於我的應用程序使用ARC,我正在使用Facebook的SDK獲取各種構建錯誤。我試圖從編譯器中刪除Facebook文件以避免這種情況,但是當我刪除Facebook.m文件時,出現Apple Mach-O錯誤。如果我把它放回到編譯源中,我會遇到ARC錯誤。iPhone ARC&Facebook SDK
有人碰到過這個嗎?
您是否將它們從編譯器標記中刪除? -fno-objc-arc ? 你可以看到一個答案here
這就是爲什麼通過複製分發共享庫和粘貼文件是壞。一個庫應該像它自己的Xcode項目一樣分配一個靜態庫目標,以便項目的構建設置需求和你使用的庫不能搞砸。
文件爲Facebook SDK這裏的錯誤:https://github.com/facebook/facebook-ios-sdk/issues
並在平均時間-fno-objc-arc
標誌添加到Facebook的SDK實現文件。你可以這樣做;
這是很多for-eaching。如果您選擇多個文件並按回車,您可以一次設置所有文件的-fno-objc-arc。 –
實際上,爲了使Facebook iOS sdk與ARC兼容,實際上只需要很少的更改。我在我的代碼中進行了更改,但是,我不知道將其發回給社區的指針是什麼?
這裏是一個後我做出瞭解釋如何使用ARC使用它的Xcode 4.2的簡單方法: http://nabtech.wordpress.com/2012/02/02/facebook-ios-sdk-and-arc/
新的SDK不明確支持ARC開箱即用,但有一個殼股代息構建一個可以在ARC項目中使用的靜態庫。您只要前往當地的git回購和運行
% ~/facebook-ios-sdk/scripts/build_facebook_ios_sdk_static_lib.sh
這將創建到/ lib/Facebook的IOS-SDK文件夾下的靜態庫(如〜/ Facebook的IOS-SDK/lib中/ Facebook的IOS-SDK )。然後,您可以將facebook-ios-sdk文件夾拖放到應用程序Xcode項目中,以包含iOS Facebook SDK靜態庫。
在Facebook自己的SDK頁面上描述了支持ARC:http://developers.facebook.com/docs/mobile/ios/build/ – djskinner
你是如何解決這個問題的?我試圖添加-fno-objc-arc,但我仍然有一個錯誤http://stackoverflow.com/questions/8701780/using-non-arc-code-in-an-arc-enabled-project-adding-facebook – Illep