2014-10-17 57 views
0

我在使用Swift編寫的新iOS應用程序中,在一兩個小時前(版本3.17,我認爲)新下載了FacebookSDK.framework。我有Xcode 6.01。我可以從設備上的SDK文件夾構建併成功運行HelloFacebookSample項目。但是在Objective-C中。我沒有看到任何Swift樣本。將FacebookSDK導入Swift應用程序

我無法通過導入FacebookSDK將SDK導入到Swift源單元中,這會導致錯誤:無此類模塊。

如果我向項目的橋接頭添加#import <FacebookSDK/FacebookSDK.h>,它無法找到頭文件。該框架在項目使用的其他框架中可見,我可以看到標題。構建設置中的框架搜索路徑看起來很合理。它包括〜/ Documents/FacebookSDK。

我以前見過這種行爲與其他第三方SDK框架。我成功地鏈接了一個我自己的框架,但是它是從源代碼構建的。

是否有任何進一步的準備步驟使用Swift應用程序使用FacebookSDK所需?

謝謝。

+1

您可以使用cocoapods將Facebook SDK添加到您的項目中。 – mustafa 2014-10-17 19:51:27

+0

使用CocoaPods。它們非常簡單易用,爲您節省大量時間。 – AdamPro13 2014-10-17 19:54:39

+0

這裏你去:(http://stackoverflow.com/questions/27056648/how-to-import-facebooksdk-in-header-file-of-swift-ios-application) – lukaivicev 2014-11-25 22:21:32

回答

2

就像在你的問題的評論中提到的一些人,我會建議你使用CocoaPods。我切換了,它很棒!我事先道歉,這將是一個長期的答案,但我試圖徹底。

1)安裝CocoaPods。應該沒有問題,我不認爲(在「安裝」選項卡下的說明http://cocoapods.org

2)使用CocoaPods處理Facebook SDK依賴項。這意味着您需要下載Facebook SDK框架並將其拖到您的項目中(如果您已經下載了它,現在可以將其刪除)請勿。要使用的CocoaPods:

- 使用Mac的終端,cd到項目目錄

- 使用「吊艙的init」命令,在項目目錄中創建PodFile並將其設置。如果你現在在你的項目目錄中,你應該會看到一個名爲PodFile的文件

- 打開PodFile並添加Facebook SDK依賴項。以下是我對使用Facebook的SDK我的項目PodFile樣子:

platform :ios, '7.0' 

target 'RatingApp' do 
    pod 'Facebook-iOS-SDK', '~> 3.22' 
end 

請注意,您要添加其他的依賴,你可以看看他們上了的CocoaPods網站上。主頁應該有一個很大的SEARCH字段,您可以在其中鍵入依賴項的名稱。例如,輸入'Facebook',第一個結果是'Facebook-iOS-SDK',右邊是'3.23.0'(這是本文的最新版本)。版本號右側是剪貼板圖標。如果你滾動它,你會看到你應該輸入到你的PodFile。請注意,滾動顯示pod'Facebook-iOS-SDK','〜> 3.22'這正是我在我的PodFile中所具有的功能。

-close您PodFile,並運行 '安裝莢'

-open YourProject.xcworkspace,其中YourProject是你的項目的名稱。現在你可以開始工作了! 不要再次使用YourProject.xcodeproj。

這些指令也在這裏:http://guides.cocoapods.org/using/using-cocoapods.html

3)最後,你需要橋接頭。 Facebook SDK仍然處於Objective-C(截至目前),並且橋接頭允許您在Swift項目中使用Objective-C框架。

- 在您的項目中創建一個新文件。選擇'頭文件'作爲文件類型

- 在該文件中,進行導入。下面是我的文件看起來像,我命名爲「橋接-Header.h」

#ifndef Bridging_Header_h 
#define Bridging_Header_h 

#import <FacebookSDK/FacebookSDK.h> 

#endif 

- 告訴你的斯威夫特項目使用橋接頭文件。點擊你的項目目標文件,這是一個藍色的紙和'A'圖標(希望你知道這是什麼)。您應該看到6個選項卡(從XCode 6開始)。這些是「一般」,「能力」,「信息」,「構建設置」,「構建階段」和「構建規則」。轉到Build Settings,並在「Swift編譯器 - 代碼生成」下一路接近底部。將'安裝Objective-C兼容性頭'設置爲是。對於「Objective-C橋接頭」,鍵入YourProject/BridgingHeaderFileName.h,其中YourProject是項目的名稱,BridgingHeaderFileName是您創建的橋接頭文件的名稱。

您現在應該全部設置爲使用Facebook SDK。好處是,現在你不需要在你的任何文件中創建任何Facebook導入語句(實際上我根本沒有做任何導入語句)。如果你需要另一個SDK,你可以像使用CocoaPods的Facebook一樣添加它(假設它可以通過CocoaPods獲得)。所以對我來說,好處是你從來沒有讓在文件中導入語句,而你並不需要自己下載的SDK任何=)

0

用的CocoaPods:在iOS的

使用Facebook SDK。

按照this tutorial配置cocoapods與swift。

然後在您的podfile中添加以下內容。

沒有的CocoaPods:

拖放FacebookSDK ShareKit,CoreKit,LoginKit和螺栓框架,項目的框架文件夾,並確保「複製」(通過點擊複選框而拷貝)這些框架在您的項目並在您的橋接頭文件中添加框架。

相關問題