Unlimited Plugins, WordPress themes, videos & courses! Unlimited asset downloads! From $16.50/m
Advertisement
  1. Code
  2. Firebase

Erhalten Sie begonnen mit FB Lagerung für iOS

by
Difficulty:IntermediateLength:LongLanguages:

German (Deutsch) translation by Redy Sediawan (you can also view the original English article)

Einführung

Neben iOS Entwickler leicht speichern Daten auf die Cloud sowie authentifizierenden Benutzer durch ihre robuste SDKs ermöglichen, bietet FB auch eine bequeme Speicherlösung für Medien. Firebase-Speichere ermöglicht Entwicklern, speichern und Abrufen von Audio-, Bild- und Videodateien auf der Wolke. Das heißt, macht Firebase Lagerung eine Reihe von SDKs für Entwickler geben die Möglichkeit, ihre User generated Content-Assets neben seiner Geschwister Produkt, die FB Realtime Datenbank verwalten der Benutzer Textinhalt gespeichert.

FB Storage ist jedoch mehr als nur ein Vorratsbehälter für rich Media-Ressourcen. Es unterstützt Entwickler mit offline-Synchronisation für Benutzer und deren Geräte, Warteschlangen und Wiederaufnahme Bilder und Videos, wenn der Benutzer ab und wieder online geht. Dies funktioniert ähnlich wie FireBase Realtime Datenbank Synchronisation von Benutzerdaten an das Back-End orchestriert.

Firebase Storage logo

Dieses Tutorial weiter von unserem vorherigen Tutorial immer begann mit FB-Authentifizierung für iOS, wo wir angeschaut, wie zu verwalten, speichern und arbeiten mit Benutzern in FB.

Ziele dieses Tutorials

Dieses Tutorial setzen Sie auf Firebase-Speicher SDKs, damit Sie Ihre app-Medien-Assets verwalten können – wie z. B. Bild-, Audio-und Videodateien – aus der Ferne in der Cloud speichern und Abrufen von ihnen in der gesamten app. In diesem Tutorial werden Sie lernen wie Sie:

  • richten Sie Ihre app für FB-Lagerung
  • Erstellen und arbeiten mit Speicher-Referenzen
  • Firebase Speicher Medien hochladen
  • Firebase-Speicher Media herunterladen

Vermeintliche wissen

Dieses Tutorial wird davon ausgegangen, dass Sie einige der Exposition gegenüber Firebase und entwickeln mit Swift und Xcode Hintergrund gehabt haben. Es ist auch wichtig, dass Sie unsere erhalten begonnen mit FB Authentifizierung für iOS Tutorial durchgearbeitet haben zuerst da Sie benötigen, um Ihre Benutzer vor dem Zugriff auf ein Großteil der FB Speicherfunktionen zu authentifizieren, einschließlich Asset Pfade.

Was ist FB Storage?

Als Entwickler können Sie die FireBase-Realtime-Datenbank zugreifen und die Interaktion mit Ihren Firebase Lagerung Eimer in einem serverlosen Mode, ohne die Notwendigkeit zu erstellen und Ihre eigenen Server zu hosten. FB Storage nutzt lokale auf dem Gerät Zwischenspeichern um Vermögenswerte offline speichern und Vermögenswerte zu dienen, wenn der Benutzer wieder online, mit den lokalen Daten automatisch synchronisiert wird.

Entwickler müssen nicht mehr zu bewältigen, die Komplexität des synchronisierenden Daten und Inhalte über Apples standard-iOS-Netzwerkbibliotheken und Umgang mit mehrere Szenarien, die Übertragung Unterbrechungen verursachen können.

In der Tat erkennen die FB-Produkte, dass reale Mobilfunknutzer die Aussicht auf eine unterbrochene oder Low-Signal Situationen konfrontiert. Die Möglichkeit, Daten auf dem Gerät für die spätere Übertragung sorgt für eine viel bessere Benutzererfahrung zu synchronisieren, während Entwickler eine Menge Arbeit sparen.

Sicherheit steht auch mit FB-Speicher, wie es mit dem Rest der FB-Suite von Produkten ist. Dies bedeutet, dass Entwickler Zugriff können auf Staugüter durch Authentifizierung von Benutzern mit FireBase-Authentifizierung, die auf eine zwingend Sicherheitsmodell aufbaut, die Steuerung des Zugriffs auf Pfade, Dateien und Metadaten auf Basis von Rolle zu Rolle ermöglicht.

Zu guter Letzt skaliert apps auf Firebase Lagerung profitieren von einer Google-Infrastruktur gehostet, die wie die Nutzerbasis wächst. Wir werden erkunden einige dieser Konzepte später im Tutorial, aber mit zu beginnen, gehen wir durch die Einrichtung Ihrer app mit FB zu arbeiten. Dann nehmen wir einen Blick auf Lagerung Referenz Zeiger.

Einrichten des Projekts

Wenn Sie mit FB vor gearbeitet haben, sollte eine Menge von dieser Ihnen vertraut sein. Andernfalls müssen Sie ein Konto in FB erstellen, und befolgen die Anweisungen im Abschnitt Set Up the Project des Artikels zu erhalten begonnen mit FB Authentifizierung für iOS.

Den vollständige Quellcode für dieses Projekt können Sie herunterladen, indem Sie Folgendes im Terminal eingeben:

Für die Lagerung müssen wir unsere Podfile FireBase/Storage hinzufügen, wie unten dargestellt:

Speichern Sie und geben Sie dann Folgendes in Ihrem Terminal, die Schoten zu bauen:

Innerhalb der AppDelegate Anwendung: DidFinishLaunchingWithOptions: Methode, die folgende Zeile vorhanden ist:

Stellen Sie sicher, dass Sie Ihr Projekt über die FireBase-Konsole auch richtig, wie im Abschnitt Set Up the Project der erhalten begonnen mit FireBase-Authentifizierung für iOS Tutorial beschrieben konfiguriert haben.

Sobald Ihre Umgebung bereit ist, können wir übergehen, Einblicke in die Lagerung Referenzen, beginnend mit wie erstelle ich einen Referenz-Zeiger.

Erstellen von & Arbeiten mit Storage-Referenzen

Firebase Speicher verwenden, können Sie mit Ihren eigenen Cloud-Eimer interagieren entspricht eine Dateisystem gespeicherten Bilder und Videos. Sie verwenden so genannte ist einen Speicher-Verweis auf einen bestimmten Pfad oder Datei innerhalb eines Pfads in das Dateisystem, dem Sie dann Ihre app Zugang zu geben, damit Sie mit ihm interagieren können, durch die Übertragung von Daten.

Einen Zeiger auf einen Pfad oder Datei innerhalb des Pfads können Sie hochladen, herunterladen, aktualisieren oder löschen diesen Weg. Um einen Verweis zu erstellen, erstellen Sie einfach eine Instanz von Storage.storage(), wie folgt:

Sie haben nun einen Verweis auf den Stamm der Dateisystem-Hierarchie, und Sie können die Struktur für Ihre Eimer festlegen, wie Sie, zum Beispiel durch das Erstellen einer Ordnerstruktur möchten.

Um Dateien und Pfade in den Eimer zu gelangen, rufen Sie die Methode child() wie folgt:

Referenzen sind eine Abkürzung für die komplette Firebase Pfad zu Ihrer Datei über Ihren Eimer, anstatt Ihre gesamte FB-Eimer-URL-Pfad. Neben der Methode child() Sie können auch Ihre Hierarchie, die Methoden root() und parent() und Kette Sie diese Methoden, wie Sie unten sehen werden:

Wie Sie sehen können, würden wir die gleichen Ergebnisse für UserProfilesRef bekommen, da wir in den vorherigen Codeblock hatten. Die große Sache über Referenzen ist, dass sie extrem leicht sind, so können Sie beliebig viele Verweise innerhalb Ihrer app-Instanz wie du willst, ohne die Leistung der app.

Nun, da Sie die grundlegenden Aspekte des Arbeitens mit FB Storage Referenzen verstehen, gehen wir weiter zum Hochladen und Herunterladen von Dateien aus Ihren Eimer.

Hochladen von Medien auf FB Storage

Die einfachste Möglichkeit, eine Datei hochzuladen ist eine NSData Darstellung des Inhalts im Speicher übergeben:

Sie können Ihre Uploads im Gange, durch die Kontrolle, wann Sie beginnen, anhalten, fortsetzen und kündigen Ihre Uploads verwalten. Sie können auch für die darauf folgenden Ereignisse, die ausgelöst werden, die sind hören:

  • pausieren
  • Lebenslauf
  • Abbrechen

Verweisen auf die UploadUserProfileTask, die wir früher, Steuern Sie Ihre Uploads mit den folgenden Methoden:

Sie können auch einen Transfer im Gange überwachen, indem Sie einfach einen Beobachter auf der Task-Instanz-Objekt:

Mal sehen, wie Sie Download Bilder oder Videos aus dem Speicher Eimer nähern würde.

Herunterladen von Medien aus dem FB-Speicher

Um zu downloaden und Ihre Bilder zu präsentieren, Sie beginnen, wie Sie mit dem Upload, und deklarieren einen Referenz-Zeiger zu Ihrem ausgewiesenen Weg. Dann beginnen Download mit Verschluss-Funktion DataWithMaxSize:completion::

Wenn Sie Gebrauch von FirebaseUI machen, haben Sie einfach FirebaseUI die herunterladen, caching und Anzeigen von Bildern für Sie noch einfacher zu verwalten:

Informationen zum Implementieren von FirebaseUI finden Sie in der FirebaseUI Dokumentation.

Verwaltung arbeiten in ähnlicher Weise zur Verwaltung der downloads und uploads Steuerung. Hier ist ein Beispiel:

Beobachter können Sie auch festlegen, wie wir für Uploads auf die Download-Übertragung in Echtzeit verfolgen:

Bewaffnet mit einem Überblick zum Arbeiten mit Referenzen und wie zum Hochladen und Herunterladen von Vermögenswerten aus Ihren Eimer, Sie sind nun bereit, gewusst wie: implementieren, FB für unser Beispielprojekt anschauen: FirebaseDo.

Das Beispielprojekt FirebaseDo

Sie müssen die FirebaseDo app geklont haben mittlerweile, so gehen Sie voran und bauen und führen Sie das Projekt. Sie werden sehen, dass alles, was sie tut ist Authentifizierung von Benutzern verwenden, entweder telefonisch oder per e-Mail:

App screen with sign in options by phone or email

Unser Ziel ist inkrementell auf die app-Funktionen, zu verbessern, so dass sobald unsere erfolgreich Benutzerauthentifizierung, sie können ein Profilfoto hochladen werden. Die meisten unserer Arbeit werden in der HomeViewController und seine verbundenen Storyboard. Wir richten sich die HomeViewController-Datei zuerst.

Die HomeViewController

Bevor wir in die Methoden dieses Reglers springen, müssen wir unsere Klasse das UIImagePickerControllerDelegate-Protokoll hinzu, so dass wir mit seiner Delegatmethoden arbeiten können. Wir müssen auch eine Datumsauswahl Instanz hinzufügen, so dass unsere Nutzer ein Foto aus ihrer Bibliothek auswählen können.

Fügen Sie die folgenden am Ende der viewDidLoad()-Methode:

Wir wollen die refreshProfileImage()-Methode zu implementieren, die aufgerufen wird, um das Bild herunterzuladen, die, das wir in unseren ViewController angezeigt haben. Wir wollen zunächst behaupten, dass der Benutzer tatsächlich authentifiziert wird, bevor Erstellen einer Referenz, die dem Benutzer-Profil-Bild aus dem /images/user_id/profile_photo.jpg Pfad innerhalb unserer Eimer abgerufen werden. Zu guter Letzt aktualisieren wir unsere Bildansicht mit dem Bild abgerufen.

Als Nächstes erstellen wir eine @IBAction-Methode für die Schaltfläche Foto Bibliothek, die wir aus unseren Storyboard kurz zu verbinden wird:

Schließlich fügen wir zwei Delegatmethoden für unsere UIImagePickerController zu behandeln, wenn der Benutzer die UIImagePicker, sowie das ausgewählte Bild abbricht:

Sobald der Benutzer ein Bild auswählt, wir schließen den Picker aber einen Verweis auf das ausgewählte Bild. Als Nächstes erstellen wir eine StorageMetadata()-Instanz, so dass wir Firebase erkennen können, daß wir eine JPEG-Datei hochladen.

Wie wir in der refreshProfileImage()-Methode, gehen wir zu behaupten, dass der Benutzer authentifiziert ist, und erstellen Sie dann einen Verweis auf den Bildern Weg wo wir unsere Benutzerprofil speichern möchten. Mithilfe der putData()-Methode, wir dann asynchron unser Bild hochladen an die dafür vorgesehenen Eimer Position vor der Einstellung unserer Bildansicht auf das gewählte Bild.

Bevor wir aufbauen und unsere app ausführen können, müssen wir unsere Storyboard die entsprechenden Steuerelemente hinzufügen.

Storyboard

Innerhalb unserer wichtigsten Storyboard fügen Sie eine Bildansicht mit einem Platzhalterbild, die repräsentieren das aktuelle Benutzerprofil, und ziehen Sie dann um die Bildansicht zu verbinden, mit dem wir in unserer Klasse HomeViewController als ein @IBOutlet erklärt haben hinzu. Als nächstes fügen Sie eine Symbolleiste mit einer Schaltfläche, die Sie als eine @IBAction verwenden, um die libraryAction()-Methode aufrufen, die wir früher in der HomeViewController geschaffen.

Ihr Storyboard sollte jetzt folgendermaßen aussehen:

Storyboard view with placeholder profile image

Fehler, Sie können gehen Sie voran und bauen und führen Sie Ihre Anwendung erneut und authentifizieren, indem Sie entweder einen neuen Benutzer anlegen oder mit einem vorhandenen Benutzer Anmeldeinformationen festgelegt ist.

Sie werden dann mit der HomeViewController, wo Sie wählen dargestellt werden die + Taste, um ein Bild von Ihrem Gerät oder des Simulators Foto-Bibliothek hinzufügen. Nachdem Sie ein Foto ausgewählt haben, wird es in den Firebase-Bucket hochgeladen. Sie können den erfolgreichen Upload bestätigen, indem Sie zur Registerkarte "Storage" Ihrer Firebase-Konsole gehen (siehe unten):

The Storage tab of your Firebase Console

Wenn Sie die App in Xcode stoppen und erneut ausführen, sollte auch das zuletzt hochgeladene Bild erneut angezeigt werden. Dies bestätigt, dass wir erfolgreich mit Firebase Storage hochgeladen und heruntergeladen wurden.

Fazit

In diesem Lernprogramm wurde gezeigt, wie Sie mit nur wenigen Codezeilen einer vorhandenen Firebase-App asynchronen Asset-Speicher und -Management hinzufügen. Auf diese Weise können Sie die Assets Ihrer App bequem verwalten und gleichzeitig die Offline-Synchronisierung elegant und bequem durchführen.

Firebase Storage ist eine naheliegende Wahl für iOS-Entwickler, die sich bereits im Firebase-Ökosystem befinden. Es bietet Entwicklern die Sicherheit eines zwingenden Sicherheitsmodells, das von der Firebase-Authentifizierung bereitgestellt wird, sowie die von der Firebase-Echtzeitdatenbank bereitgestellten Funktionen.

Wenn Sie hier sind, lesen Sie einige unserer anderen Beiträge zur Entwicklung von iOS-Apps!

Advertisement
Advertisement
Advertisement
Advertisement
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.