Нет такого модуля 'OneSignal'
Я пытаюсь интегрировать OneSignal SDK в Xcode 7.2.1 с директивами CocoaPods 1.0.0.b.2 и use_frameworks!
,
Когда я пытаюсь импортировать фреймворк в AppDelegate.swift, я получаю
Нет такого модуля "OneSignal".
У меня также есть другие рамки, включенные в Cocoapods, которые работают без проблем (например: Fabric)
Мне удалось установить OneSignal SDK с cocoapods в другом проекте, но без директивы use_frameworks!
. Я использовал заголовок моста.
Ответы
Ответ 1
Подписи, написанные в Swift, могут быть импортированы с помощью use_frameworks!
, а CocoaPods будут жаловаться, если вы этого не сделаете, и попытайтесь импортировать модули в код Swift.
Хотя для любых модулей, не написанных в Swift, потребуется использовать заголовок моста.
Обращаясь к модулю OneSignal, руководство по началу работы инструктирует приложения, использующие Swift, включить заголовок моста для использования модуля. OneSignal: Руководство по началу работы
Ответ 2
Другое дело, что Получение ошибки "Нет такого модуля" используя Xcode, но инфраструктура там
Если заголовок фреймворка уже включен в заголовочный файл моста, вам не нужно импортировать его в исходный файл Swift.
Ответ 3
ИЗМЕНИТЬ
Является ли OneSignal cocoapod написанным в Swift или нет? Нужен ли мне use_frameworks!
или заголовок? Что работает в Xcode 8.2.1, Swift 3 и OneSignal (1.11.3)?
- OneSignal: Руководство по началу работы на самом деле не работает в Swift 3
- добавление
import OneSignal
в AppDelegate.swift
на самом деле не сработало для меня
(ошибка автозаполнения и компиляции)
-
use_frameworks!
не помогает в этой конкретной ситуации.
Xcode 8.2.1, Swift 3, OneSignal 1.11.3
-
Используйте этот заголовок моста (†):
#import "OneSignal/OneSignal.h"
-
В приложении Делегат:
func application(_ application: UIApplication, didFinishLaunchingWithOptions
launchOptions: [UIApplicationLaunchOptionsKey: Any]?)
-> Bool {
_ = OneSignal.init(launchOptions: launchOptions,
appId: "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx")
...
}
- (†) Легкий способ добавить правильно настроенный заголовок моста - это просто добавить новый исходный файл Objective-C в проект и следовать диалогам.
![Configure bridging headers]()
Ответ 4
СОЗДАНИЕ (CMD + B) проекта сразу после установки контейнеров перед запуском с использованием поддержки контейнера. А также мы должны очистить всю ошибку до того, как начать использовать стручки.
Ответ 5
если у вас уже есть файл pod до начала разработки OneSignal, вам нужно добавить новую цель для OneSignalNotificationServiceExtension.
target 'OneSignalNotificationServiceExtension' do
# Comment the next line if you're not using Swift and don't want to use dynamic frameworks
use_frameworks!
# Pods for OneSignalNotificationServiceExtension
pod 'OneSignal', '>= 2.5.2', '< 3.0'
end
После добавления вышеуказанного кода в подфайл. Вы должны "установить pod" еще раз.