Выпуск с использованием FBSDK в приложении быстрой iOS
Я кодирую приложение iOS 8 быстро, используя FBSDK, чтобы пользователи могли войти в мое приложение. До сих пор я успешно реализовал функцию входа в систему с помощью FBSDK v3.25 в swift с использованием файла Bridging-Header.h и обновил info.plist в соответствии с инструкциями, приведенными на веб-сайте разработчиков FB. Теперь я хочу сделать приложение (или обновить текущий) FBSDK v4.01, но когда я следую тому же процессу интеграции его в свое приложение, я получаю следующие ошибки:
-> FBSDKAppLinkResolver.h
/Users/danieloram/Desktop/IOS/SWIFT/FBLoginUsingSDK4/FacebookSDK/FBSDKCoreKit.framework/Headers/FBSDKAppLinkResolver.h:21:9: Include of non-modular header inside framework module 'FBSDKCoreKit.FBSDKAppLinkResolver'
/Users/danieloram/Desktop/IOS/SWIFT/FBLoginUsingSDK4/FacebookSDK/FBSDKCoreKit.framework/Headers/FBSDKAppLinkResolver.h:21:9: Include of non-modular header inside framework module 'FBSDKCoreKit.FBSDKAppLinkResolver'
-> Bridging-Header.h
/Users/danieloram/Desktop/IOS/SWIFT/FBLoginUsingSDK4/FBLoginUsingSDK4/Bridging-Header.h:12:9: Could not build module 'FBSDKCoreKit'
/Users/danieloram/Desktop/IOS/SWIFT/FBLoginUsingSDK4/FBLoginUsingSDK4/Bridging-Header.h:13:9: Could not build module 'FBSDKLoginKit'
/Users/danieloram/Desktop/IOS/SWIFT/FBLoginUsingSDK4/FBLoginUsingSDK4/Bridging-Header.h:12:9: Could not build module 'FBSDKCoreKit'
->FBSDKLoginButton.h
/Users/danieloram/Desktop/IOS/SWIFT/FBLoginUsingSDK4/FacebookSDK/FBSDKLoginKit.framework/Headers/FBSDKLoginButton.h:21:9: Could not build module 'FBSDKCoreKit'
Failed to import bridging header '/Users/danieloram/Desktop/IOS/SWIFT/FBLoginUsingSDK4/FBLoginUsingSDK4/Bridging-Header.h'
Самое очевидное, что нужно отметить последнюю ошибку, в которой говорится, что заголовок моста не найден, но он находится там же, где я использовал FBSDK 3.25?
Кроме того, все документы и руководства на веб-сайте разработчиков FaceBook находятся в obj-c, поэтому найти решение было очень неприятным процессом. Может ли кто-нибудь помочь диагностировать, что я делаю неправильно? Любая помощь приветствуется!
Обновление
пока мне удалось скомпилировать мое приложение, следуя инструкциям на портале разработчиков Facebook и удалив все модули из FBSDK, запустив в терминале
следующее:
rm -r ~/Documents/FacebookSDK/FBSDKCoreKit.framework/Modules/
rm -r ~/Documents/FacebookSDK/FBSDKLoginKit.framework/Modules/
rm -r ~/Documents/FacebookSDK/FBSDKShareKit.framework/Modules/
это мое обходное решение, пока не будет выпущено правильное исправление.
Ответы
Ответ 1
Это ошибка, и Facebook в настоящее время "присваивает это соответствующей команде".
Чтобы получить обновления по этой проблеме, перейдите по этой ссылке:
https://developers.facebook.com/bugs/362995353893156/
и нажмите подписаться.
Некоторые люди нашли успех, используя ответы на эту ссылку (ни один из них не работал у меня):
Ошибка модуля сборки модуля iOS8 для FBSDKCoreKit
Ответ 2
Для тех из вас, кто пытается скомпилировать быстрый проект с помощью FB cocoaPods.
* BTW, он работал один раз, только в xCode 7.1 он остановился
Только после игры со всем, я сделал 2 вещи:
-
В конце модуля добавлен следующий код:
post_install do |installer|
installer.pods_project.build_configuration_list.build_configurations.each do |configuration|
configuration.build_settings['CLANG_ALLOW_NON_MODULAR_INCLUDES_IN_FRAMEWORK_MODULES'] = 'YES'
end
конец
-
Удалите "новый и улучшенный" быстрый импорт и добавьте FB в заголовок моста obj-C:
Небольшой снимок экрана моего заголовка мостов
Ответ 3
Попробуйте установить параметры сборки. Установите Allow Non-modular Includes in Framework modules
в YES
.