2014-06-06 12 views

Odpowiedz

11

Najprostszym sposobem znalazłem się aby dodać nową „Objective-C Plik” do projektu.

Należy zapytać „Chciałbyś skonfigurować Objective-C pomostowego nagłówek?” Wybierz Tak.

dwa pliki zostaną dodane do projektu, plik Objective-C i "(nazwa projektu) -Bridging-header.h"

Usuń pusty plik Objective-C dodaną i otwartej (nazwa projektu) -Bridging-header.h

Dodaj swój import na Facebooku SDK do pliku (za pomocą importu Objective-C style), przykład:

// 
// Use this file to import your target's public headers that you would like to expose to Swift. 
// 

#import <FacebookSDK/FacebookSDK.h> 

Zapisz nagłówek plik i możesz teraz uzyskać dostęp do pakietu SDK Facebooka w swoim szybkim kodzie. Nie musisz trzeba dodać "importuj FacebookSDK" do swoich plików SWIFT. Przykład:

import UIKit 

class LoginViewController: UIViewController { 
    var fbl: FBLoginView = FBLoginView() 
    // etc... 
+0

Nie chcę dodawać nowego "pliku Objective-C", ale Framework. Obserwuję [dokumentację Facebooka] (https://developers.facebook.com/docs/ios/getting-started/) i upuszczam plik ".framework" do mojego projektu. Mogę utworzyć widok i dodać klasę "FbLoginView", ale nie mogę utworzyć instancji klasy FBLoginView. – cappie013

+1

W porządku, jedynym powodem, dla którego musisz dodać plik Objective-C, jest utworzenie pliku Bridging-Header (uważam, że ustawia to również flagę w twoim projekcie). Plik Objective-C nie jest potrzebny, to tylko szybki sposób na utworzenie pliku nagłówkowego Bridging i ustawienie flagi w projekcie. Następnie dodanie importu do nagłówka Bridging umożliwia dostęp do FBLoginView w twoim projekcie. Nadal musisz mieć framework SDK Facebooka już w swoim projekcie. – DennyFerra

+0

Działaj jak czar! Dziękuję za pomoc! Spróbuję znaleźć łatwiejszy sposób na utworzenie pliku mostu. – cappie013

3

Co próbujesz zrobić z klasą?

w Swift można odwoływać się do klasy z .self tak:

FBLoginView.self 
+0

Według dokumentacji SDK [Facebook] (https://developers.facebook.com/docs /facebook-login/ios/v2.0), potrzebuję załadować klasę FBLoginView. Wydaje się jednak, że ramy nie zostały odpowiednio uwzględnione. – cappie013

+0

"FacebookSDK.framework" pojawia się w "Linked frameworks and bibliotek", ale nadal nie działa – cappie013

+0

Co dokładnie robi 'FBLoginView.self'? –

0

Uwierz w najnowsze aktualizacje z Facebook, import do pliku nagłówka są:

#import <FBSDKCoreKit/FBSDKCoreKit.h> 
#import <FBSDKLoginKit/FBSDKLoginKit.h>