Как добавить Firebase в сегодняшнее расширение iOS

Мне нужно иметь возможность использовать Firebase в моем расширении Today View, однако я не могу импортировать модуль Firebase. Я думаю, это потому, что мне нужна новая цель в моем файле cocoa pods, но я не уверен, как это сделать.

спасибо.

3 ответов


вы должны рассматривать расширение сегодня как свое собственное отдельное приложение (несколько)

на панели мониторинга проекта firebase вам нужно нажать кнопку" Добавить другое приложение".

enter image description here

выберите iOS и введите ИДЕНТИФИКАТОР ПАКЕТА вашего СЕГОДНЯ РАСШИРЕНИЕ

enter image description here

завершите работу мастера и загрузите сгенерированный GoogleService-Info.файл plist файл

добавьте файл plist в свой корневая папка сегодняшнего расширения

перейдите в свой проект xcode и вручную добавьте FirebaseCore.каркас и FirebaseDatabase.рамки к вашему сегодня расширение

step 1 : get your bundle id step 2 : add frameworks

наконец, внутри вашего сегодня Сегодня viewcontroller вызов FirebaseApp.configure ()

import FirebaseDatabase 
import FirebaseCore


override func viewDidLoad() {
    super.viewDidLoad()
    FirebaseApp.configure() 
}

насколько мне известно, виджеты не могут использовать определенные api, такие как firebase. Виджеты должны показывать данные, предоставленные основным приложением через UserDefaults например

TodayViewExtensions (или виджеты) может быть только очень легким codewise.


1) все еще не удается импортировать Firebase!

убедитесь, что модули установлены для всех целей в вашем проекте. Для достижения этого используйте inherit! или abstract_target в файл контейнера.

самый простой пример, используя abstract_target С официальная документация:

abstract_target 'Networking' do
  pod 'AlamoFire'

  target 'Networking App 1'
  target 'Networking App 2'
end

на inherit! см. это так вопрос и ответ.

2) как я могу достичь этого на моем существующем приложении, не испортив вещи?

  1. удалить Podfile, Podfile.lock и YourProject.xcworkspace

  2. вопрос pod init и он будет перечислять ваши существующие цели один за другим.

  3. редактировать Podfile любой группировкой под abstract_target или через inherit!

  4. вопрос pod install

новая YourProject.xcworkspace файл будет сгенерирован, и если вы откроете свой проект с помощью этого, в разделе General>Linked Frameworks and Libraries он покажет, что Firebase добавлен и может быть импортирован из файлов проекта.

(см. это так нити для конкретного примера, где этот метод очистки необходимо использовать.)