Подтвердить что ты не робот

Facebook SDK Swift - использование необъявленного идентификатора

Я получаю Use of undeclared identifier для каждого объекта Facebook, который я использую

Следуя этому руководству: Учебник: КАК ДОБАВИТЬ В FACEBOOK SDK 4.1.X ДЛЯ SWIFT

Но у меня есть следующая ошибка:

введите описание изображения здесь

Я добавил фреймворк Facebook через cocoapods:

pod 'FBSDKCoreKit'
pod 'FBSDKShareKit'

И он был успешно установлен

введите описание изображения здесь

Я добавил заголовок моста

#ifndef Bridging_Header_h
#define Bridging_Header_h

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

#endif /* Bridging_Header_h */

Подключен соединительный заголовок:

введите описание изображения здесь

Я настроил свой .plist

<key>CFBundleURLTypes</key>
    <array>
        <dict>
            <key>CFBundleURLSchemes</key>
            <array>
                <string>fb*****</string>
            </array>
        </dict>
    </array>
    <key>FacebookAppID</key>
    <string>*****</string>
    <key>FacebookDisplayName</key>
    <string>*****</string>
    <key>NSAppTransportSecurity</key>
    <dict>
        <key>NSExceptionDomains</key>
        <dict>
            <key>facebook.com</key>
            <dict>
                <key>NSIncludesSubdomains</key> <true/>
                <key>NSThirdPartyExceptionRequiresForwardSecrecy</key> <false/>
            </dict>
            <key>fbcdn.net</key>
            <dict>
                <key>NSIncludesSubdomains</key> <true/>
                <key>NSThirdPartyExceptionRequiresForwardSecrecy</key>  <false/>
            </dict>
            <key>akamaihd.net</key>
            <dict>
                <key>NSIncludesSubdomains</key> <true/>
                <key>NSThirdPartyExceptionRequiresForwardSecrecy</key> <false/>
            </dict>
        </dict>
    </dict>

Вот код:

let content : FBSDKShareLinkContent = FBSDKShareLinkContent()
        content.contentURL = NSURL(string: "<INSERT STRING HERE>")
        content.contentTitle = "<INSERT STRING HERE>"
        content.contentDescription = "<INSERT STRING HERE>"
        content.imageURL = NSURL(string: "<INSERT STRING HERE>")

        let button : FBSDKShareButton = FBSDKShareButton()
        button.shareContent = content
        button.frame = CGRectMake((UIScreen.mainScreen().bounds.width - 100) * 0.5, 50, 100, 25)
        self.view.addSubview(button)
4b9b3361

Ответ 1

Если вы используете Pods и ваш проект находится в Swift, вам не нужно импортировать заголовки из контейнеров в Bridging_Header_h Достаточно импортировать необходимый SDK для вашего быстрого файла, например:

import FBSDKCoreKit
import FBSDKLoginKit
import FBSDKShareKit

Ответ 2

Первый шаг - создать подфайл, например:

use_frameworks!
pod 'ChameleonFramework/Swift'
pod 'GBDeviceInfo'

Сохраните файл и установите или обновите модули по команде:

pod install / pod update

Далее вы должны добавить общую структуру настроек:

enter image description here

Ответ 3

Для Swift пользователей: Facebook Swift SDK 0.7.0 и 0.8.0 кажутся полностью FUBAR, нет способа заставить импорт работать должным образом даже в совершенно новом проекте.

Вернитесь к 0.6.0, указав следующее в Podfile, и учебники и импорт снова будут работать:

pod 'FacebookCore', '~> 0.6.0'
pod 'FacebookLogin', '~> 0.6.0'
pod 'FacebookShare', '~> 0.6.0'