2016-12-13 6 views
6

Ich muss Firebase in meiner Today View Extension verwenden können, aber ich kann nicht scheinen, das Firebase-Modul zu importieren. Ich denke, das liegt daran, dass ich ein neues Ziel in meiner Kakaopodendatei brauche, aber ich bin mir nicht sicher, wie ich das machen soll.Hinzufügen von Firebase zu Today Extension iOS

Danke.

Antwort

7

Sie haben die heute Erweiterung als seine eigene separate App (etwas)

in Ihrem Projekt-Dashboard Feuerbasis zu behandeln, müssen Sie die Schaltfläche „Hinzufügen andere App“ Knopf drücken.

enter image description here

wählen iOS und geben Sie dann die BUNDLE ID Ihrer TODAY EXTENSION

enter image description here

den Assistenten ab und laden Sie die erzeugte GoogleService-Info.plist Datei

Fügen Sie die pl ist Datei auf Ihre Heute Erweiterung Stammordner

gehen Sie zu Ihrem Xcode-Projekt, und manuell hinzufügen FirebaseCore.framework und FirebaseDatabase.framework zu Ihrer Heute Erweiterung

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

schließlich in Ihrem heute heute Viewcontroller Anruf FirebaseApp.configure()

import FirebaseDatabase 
import FirebaseCore 


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

gesehen, wie es ist, zwei verschiedene ‚Apps‘ bedeutet das, dass ich keine Daten von verwenden können, wo alle meine Daten? ZB kann meine Erweiterung 'app' auf die Daten in meiner aktuellen Datenbank zugreifen? – Eli

+1

ok nur ein paar Dinge zu klären ... 1) Bei Ihrer Firebase Console (https://console.firebase.google.com/) 2) Wählen Sie Ihr vorhandenes Firebase-Projekt. 3) Sie fügen dann Ihrem vorhandenen Firebase-Projekt eine "App" hinzu. 4) Ihre Firebase-Datenbank (für Ihre vorhandenen Firebase Project) wird auf alle „Apps“ innerhalb dieser BESTEHENDEN Firebase Projekt zugänglich sein. 5) Bitte wählen Sie meine Antwort, wenn diese Lösung für Sie :-) – CharlieNorris

+0

Gotcha gearbeitet hat, danke! :) Funktioniert gut – Eli

1

Nach meinem Wissen dürfen Widgets bestimmte APIs wie Firebase nicht verwenden. Widgets sollen Daten anzeigen, die von der Hauptanwendung über UserDefaults bereitgestellt werden, z.

TodayViewExtensions (oder Widgets) können nur sehr wenig Code sein.

+0

Ich glaube nicht so, alles, was ich tun möchte, ist den neuesten Beitrag zu zeigen, dass jemand das gemacht Faden. Iv gesehen viele andere Anwendungen tun dies zum Beispiel Flipboard – Eli

0

1) Noch kann Firebase nicht importiert werden!

Stellen Sie sicher, dass die Pods für alle Ziele in Ihrem Projekt installiert sind. Um dies zu erreichen, verwenden Sie inherit! oder abstract_target in Ihrem Podfile.

Das einfachste Beispiel mit abstract_target von the official documentation:

abstract_target 'Networking' do 
    pod 'AlamoFire' 

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

Für inherit! finden this SO question and answer.

2) Wie kann ich das auf meine bestehende App erreichen, ohne die Dinge vermasselt?

  1. entfernen Podfile, Podfile.lock und YourProject.xcworkspace

  2. Ausgabe pod init und es wird Ihre bestehenden Ziele einzeln aufzulisten.

  3. Bearbeiten Sie die Podfile entweder durch die Gruppierung unter abstract_target oder mit inherit!

  4. Ausgabe pod install

Eine neue YourProject.xcworkspace Datei generiert werden, und wenn Sie öffnen Sie das Projekt unter Verwendung dieses, unter General >Linked Frameworks and Libraries wird angezeigt, dass Firebase hinzugefügt wurde und aus Projektdateien importiert werden kann.

(Siehe this SO thread für ein konkretes Beispiel, in dem diese Bereinigungsverfahren benötigt, um verwendet werden.)

Verwandte Themen