2014-10-17 1 views
0

Я использую FacebookSDK.framework, недавно загруженный час или два назад (версия 3.17, я думаю), в новом приложении iOS, написанном в Swift. У меня Xcode 6.01. Я могу создать и успешно запустить проект HelloFacebookSample из папки SDK на устройстве. Но это в Objective-C. Я не вижу никаких образцов Swift.Импорт FacebookSDK в приложение Swift

Я не могу импортировать SDK в источник Swift через импорт FacebookSDK, который дает ошибку: нет такого модуля.

Если я добавляю #import <FacebookSDK/FacebookSDK.h> в заголовок моста проекта, он не может найти файл заголовка. Структура видна среди других фреймворков, используемых проектом, и я вижу заголовки. Трассировка каркаса в настройках сборки выглядит разумно. Он включает ~/Documents/FacebookSDK.

Я видел это поведение раньше с другой сторонней картой SDK. Я успешно связываюсь с моей собственной структурой, но она построена из источника.

Есть ли какие-либо дополнительные подготовительные шаги, необходимые для использования FacebookSDK с помощью приложения Swift?

Спасибо.

+1

Вы можете использовать cocoapods для добавления Facebook SDK в свой проект. – mustafa

+0

Используйте CocoaPods. Они невероятно просты в использовании и сэкономят вам массу времени. – AdamPro13

+0

Здесь вы найдете: (http://stackoverflow.com/questions/27056648/how-to-import-facebooksdk-in-header-file-of-swift-ios-application) – lukaivicev

ответ

2

Как и некоторые люди, упомянутые в комментариях к вашему вопросу, я предлагаю вам использовать CocoaPods. Я переключился, и это было здорово! Я заранее извиняюсь, что это будет длинный ответ, но я старался быть основательным.

1) Установите CocoaPods. Не должно быть никаких проблем, я не думаю (инструкции здесь на вкладке «установка» http://cocoapods.org)

2) Используйте CocoaPods для обработки зависимости SDK от Facebook. Это означает, что вам не нужно необходимо загрузить фреймворк Facebook и перетащить его в свой проект (если вы его уже загрузили, вы можете удалить его сейчас). Для использования CocoaPods:

Mac Terminal -в него входят помимо, компакт-диск в каталог проекта

-use команды «стручок инициализации», который создает PodFile в каталоге проекта и устанавливает его. Если вы сейчас находитесь в своем каталоге проектов, вы должны увидеть файл под названием PodFile

-open PodFile и добавить зависимость SDK от Facebook. Вот что мой PodFile для моего проекта с использованием Facebook SDK выглядит следующим образом:

platform :ios, '7.0' 

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

Обратите внимание, что для других зависимостей, которые вы хотите добавить, вы можете посмотреть их на сайте CocoaPods. На главной странице должно быть большое поле поиска, в котором вы можете ввести имя зависимости. Например, введите «Facebook», и первым результатом будет «Facebook-iOS-SDK», с «3.23.0» справа от него (это самая последняя версия на этом посту). Справа от номера версии находится значок буфера обмена. Если вы просмотрите его, вы увидите, что вы должны ввести в свой PodFile. Обратите внимание, что прокрутка над ним показывает pod 'Facebook-iOS-SDK', '~> 3.22' Это именно то, что у меня есть в моем подфиле.

-близких ваш PodFile, и запустить 'стручок установить'

-open YourProject.xcworkspace, где YourProject это имя вашего проекта. Теперь вы можете начать работать! не использовать YourProject.xcodeproj больше.

Эти инструкции также здесь: http://guides.cocoapods.org/using/using-cocoapods.html

3) И, наконец, вам нужен заголовок мостовую. SDK Facebook по-прежнему находится в Objective-C (на данный момент), а заголовок моста позволяет использовать рамки Objective-C в вашем проекте Swift.

-создайте новый файл в своем проекте. выберите «Файл заголовка» для типа файла

В этом файле сделайте свой импорт. Вот то, что мой файл выглядит, который я назвал «Bridging-header.h»

#ifndef Bridging_Header_h 
#define Bridging_Header_h 

#import <FacebookSDK/FacebookSDK.h> 

#endif 

-Скажи ваш Swift проект, чтобы использовать свой мостовую файл заголовка. Нажмите на свой целевой файл проекта, который будет содержать синюю бумагу и значок «А» (надеюсь, вы знаете, что это такое). Вы должны увидеть 6 вкладок (с XCode 6). Это «Общие», «Возможности», «Информация», «Настройки сборки», «Сформировать фазы» и «Правила сборки». Перейдите в «Настройки сборки» и пройдите до конца под «Swift Compiler - Code Generation». Установите «Установить заголовок совместимости Objective-C» на «Да». Для «Objective-C Bridging Header» введите YourProject/BridgingHeaderFileName.h, где YourProject - это имя вашего проекта, а BridgingHeaderFileName - это имя созданного вами файла заголовков мостов.

Теперь вы должны быть готовы к использованию SDK для Facebook. Преимущество в том, что теперь вам не нужно делать какие-либо заявления о ввозе каких-либо Facebook в любой из ваших файлов (я вообще не делаю никаких импортных заявлений). Если вам нужен другой SDK, вы можете добавить его, как Facebook, используя CocoaPods (при условии, что он доступен через CocoaPods). Так что для меня, приятно то, что вы никогда не должны делать заявление импорта в файлах, и вам не нужен загружать SDKs себя =)

0

С cocoapods:

Используйте facebook SDK в прошивке.

Следуйте за this tutorial, чтобы настроить cocoapods с быстрым.

Затем добавьте следующее в свой файл подкачки.

Без cocoapods:

Drag падение FacebookSDK ShareKit, CoreKit, LoginKit и болты рамки в Рамочной папке вашего проекта и убедитесь, что вы «Copy» (нажав флажок при копировании) эти рамки в проекте и добавьте фреймворки в ваш заголовочный файл.