2014-06-06 12 views
5

Cerco di implementare Facebook SDK in un progetto IOS Swift, ma non riesco a includere l'SDK. Inoltre, non so come tradurre questo Objectiv-c frammento di Swift:Instanciate Classe FBLoginView in swift

[FBLoginView class]; 

Qualcuno mi può aiutare?

risposta

11

Il modo più semplice che ho trovato è quello di aggiungere un nuovo "File Objective-C" nel progetto.

Dovrebbe chiedere "Vuoi configurare un Objective-C colmare intestazione?" Scegliere .

due file verranno aggiunti al progetto, il file di Objective-C e "(nome del progetto) -Bridging-header.h"

Eliminare il file di Objective-C si è aggiunto vuota e aperto (nome del progetto) -Bridging-header.h

Aggiungi la tua importazione per il Facebook SDK nel file (utilizzando l'importazione stile Objective-C), ad esempio:

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

#import <FacebookSDK/FacebookSDK.h> 

Salva l'intestazione file e ora puoi accedere a Facebook SDK nel tuo codice rapido. Non è necessario aggiungere ai file swift per importare FacebookSDK. Esempio:

import UIKit 

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

Non voglio aggiungere un nuovo "file Objective-C" ma un framework. Seguo [la documentazione di Facebook] (https://developers.facebook.com/docs/ios/getting-started/) e rilasciamo il file ".framework" nel mio progetto. Posso creare la mia vista e aggiungere la classe "FbLoginView", ma non posso creare un'istanza di una classe FBLoginView. – cappie013

+1

Esatto, l'unica ragione per cui è necessario aggiungere un file Objective-C è creare il file Bridging-Header (credo che anche questo imposti un flag nel progetto da qualche parte). Il file Objective-C non è necessario, è solo un modo rapido per creare il file di intestazione Bridging e impostare il flag nel progetto. Quindi aggiungere l'importazione all'intestazione Bridging consente di accedere a FBLoginView nel progetto. Hai ancora bisogno di avere il framework SDK di Facebook già nel tuo progetto. – DennyFerra

+0

Funziona come un fascino! Grazie per l'aiuto ! Cercherò di trovare un modo più semplice per creare il file bridge. – cappie013

3

Cosa stai cercando di fare con la classe?

In rapida è possibile fare riferimento alla classe con .self in questo modo:

FBLoginView.self 
+0

Secondo [Facebook SDK Documentazione] (https://developers.facebook.com/docs /facebook-login/ios/v2.0), ho bisogno di caricare la classe FBLoginView. Ma sembra che la struttura non sia inclusa correttamente. – cappie013

+0

"FacebookSDK.framework" appare nel mio "Strutture e librerie collegate" ma non funziona ancora – cappie013

+0

Cosa fa esattamente 'FBLoginView.self'? –

0

credere con gli ultimi aggiornamenti da Facebook, le importazioni per il file di intestazione sono:

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