2014-06-06 5 views
5

Я пытаюсь реализовать Facebook SDK в проекте IOS Swift, но я не могу включить SDK. Кроме того, я не знаю, как перевести это-с Объектив сниппет для Swift:Инквизиция класса FBLoginView в swift

[FBLoginView class]; 

Кто-то может мне помочь?

ответ

11

Самый простой способ я нашел, чтобы добавить новый «Objective-C Файл» в свой проект.

Он должен спросить вас «вы хотите настроить Objective-C мостовую заголовок?» Выберите Да.

Два файлы будут добавлены в проект, файл Objective-C и "(название проекта) -Bridging-header.h"

Удалить пустую Objective-C файл, который вы добавили и открытый (название проекта) -Bridging-header.h

Добавьте свой импорт на Facebook SDK в файл (используя импорт стиль Objective-C), например:

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

#import <FacebookSDK/FacebookSDK.h> 

Сохранить заголовок файл, и теперь вы можете получить доступ к Facebook SDK в своем быстром коде. Вам не нужно добавить «import FacebookSDK» в свои быстрые файлы. Пример:

import UIKit 

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

Я не хочу добавлять новый «Objective-C File», но Framework. Я следую [документации по Facebook] (https://developers.facebook.com/docs/ios/getting-started/) и отбрасываю файл «.framework» в свой проект. Я могу создать свое представление и добавить класс «FbLoginView», но я не могу создать экземпляр класса FBLoginView. – cappie013

+1

Правильно, единственная причина, по которой вам нужно добавить файл Objective-C, - создать файл Bridging-Header (я считаю, что это также устанавливает флаг в вашем проекте где-то). Файл Objective-C не нужен, это просто быстрый способ создать заголовочный файл Bridging и установить флаг в вашем проекте. Затем добавление импорта в заголовок Bridging позволяет вам получить доступ к FBLoginView в вашем проекте. Вы все еще должны иметь инфраструктуру SDK для Facebook уже в своем проекте. – DennyFerra

+0

Работайте как шарм! Спасибо за помощь ! Я попытаюсь найти более простой способ создания файла моста. – cappie013

3

Что вы пытаетесь сделать с классом?

В стрижа вы можете ссылаться на класс с .self так:

FBLoginView.self 
+0

Согласно [Facebook SDK документации] (https://developers.facebook.com/docs /facebook-login/ios/v2.0), мне нужно загрузить класс FBLoginView. Но, похоже, структура не включена должным образом. – cappie013

+0

«FacebookSDK.framework» появляется в моих «Связанных фреймворках и библиотеках», но он по-прежнему не работает – cappie013

+0

Что именно делает «FBLoginView.self»? –

0

Believe с последними обновлениями от Facebook, импорт для заголовка файла являются:

#import <FBSDKCoreKit/FBSDKCoreKit.h> 
#import <FBSDKLoginKit/FBSDKLoginKit.h> 
Смежные вопросы