Erste Schritte mit AWS

Erstellen einer iOS-Anwendung

Erstellen Sie eine einfache iOS-Anwendung mit AWS Amplify

Modul 2: Amplify starten

In diesem Modul werden Sie die Amplify CLI installieren und konfigurieren.

Einführung

Nachdem wir nun eine iOS-Anwendung erstellt haben, wollen wir die Entwicklung fortsetzen und neue Funktionen hinzufügen.

Um mit der Verwendung von AWS Amplify in Ihrer Anwendung zu beginnen, müssen Sie die Amplify-Befehlszeile installieren, das Amplify-Projektverzeichnis initialisieren, Ihr Projekt für die Verwendung der Amplify-Bibliotheken konfigurieren und die Amplify-Bibliotheken zur Laufzeit initialisieren.

Lerninhalte

  • Initialisierung eines neuen Amplify-Projekts
  • Amplify-Bibliotheken zu Ihrem Projekt hinzufügen
  • Initialisieren von Amplify-Bibliotheken zur Laufzeit

Wichtige Konzepte

Amplify CLI – Mit der Amplify CLI können Sie AWS-Services direkt von Ihrem Terminal aus erstellen, verwalten und entfernen.

Amplify-Bibliotheken – Die Amplify-Bibliotheken ermöglichen Ihnen die Interaktion mit AWS-Services über eine Web- oder mobile Anwendung.

 Veranschlagte Zeit

10 Minuten

 Verwendete Services

Implementierung

  • AWS Amplify CLI hängt von Node.js ab, siehe Abschnitt "Voraussetzungen" in der Einführung zur Installation von Node.js

    Um AWS Amplify CLI zu installieren, öffnen Sie ein Terminal und geben Sie den folgenden Befehl ein:

    ## Install Amplify CLI
    npm install -g @aws-amplify/cli
    
    ## Verify installation and version
    amplify --version
    # Scanning for plugins...
    # Plugin scan successful
    # 4.27.2
  • Um die Grundstruktur unseres Backends zu erstellen, müssen wir zunächst das Amplify Backend initialisieren und unser Cloud Backend erstellen.

    Öffnen Sie ein Terminal und wechseln Sie Verzeichnisse zu Ihrem Projekt. Wenn Sie Ihr Projekt zum Beispiel im Ordner ~/Developer erstellt haben, können Sie Folgendes eingeben:

    cd ~/Developer/iOS\ Getting\ Started

    Vergewissern Sie sich, dass Sie sich im richtigen Verzeichnis befinden, es sollte wie folgt aussehen:

    ➜  iOS Getting Started git:(master) ✗ ls -al
    total 32
    drwxr-xr-x   9 stormacq  admin   288 Jul  8 15:09 .
    drwxr-xr-x  17 stormacq  admin   544 Jul  6 16:20 ..
    -rw-r--r--@  1 stormacq  admin  6148 Jul  8 15:06 .DS_Store
    drwxr-xr-x   9 stormacq  admin   288 Jul  6 16:12 iOS Getting Started
    drwxr-xr-x@  5 stormacq  admin   160 Jul  8 15:09 iOS Getting Started.xcodeproj

    Initialisieren Sie die Projektstruktur und Konfigurationsdatei von Amplify. Führen Sie den folgenden Befehl aus:

    amplify init
    
    ? Enter a name for your project (iOSGettingStarted): accept the default, press enter
    ? Enter a name for the environment (dev): accept the default, press enter
    ? Choose your default editor: use the arrow key to select your favorite text editor an press enter
    ? Choose the type of app that you're building: iOS is already selected, press enter
    ? Do you want to use an AWS profile?, Y, press enter
    ? Please choose the profile you want to use: use the arrow keys to select your profile and press enter.

    Sie können ein Profil mit AWS CLI unter Verwendung von aws configure --profile <name> erstellen, falls Sie noch kein Profil haben.

    Amplify initiiert Ihr Projekt in der Cloud, es kann einige Minuten dauern. Nach ein paar Minuten sollten Sie eine Nachricht sehen, wie:

    ✔ Successfully created initial AWS cloud resources for deployments.
    ✔ Initialized provider successfully.
    Initialized your environment successfully.
    
    Your project has been successfully initialized and connected to the cloud!
  • Bevor Sie mit diesem Schritt beginnen, stellen Sie bitte sicher, dass Sie Xcode schließen.

    a. Öffnen Sie ein Terminal und wechseln Sie Verzeichnisse zu Ihrem Projekt. Wenn Sie Ihr Projekt zum Beispiel im Ordner ~/Developer erstellt haben, können Sie Folgendes tun:

    cd ~/Developer/iOS\ Getting\ Started

    Vergewissern Sie sich, dass Sie sich im richtigen Verzeichnis befinden, es sollte wie folgt aussehen:

    ➜  iOS Getting Started git:(master) ✗ ls -al
    total 32
    drwxr-xr-x   9 stormacq  admin   288 Jul  8 15:09 .
    drwxr-xr-x  17 stormacq  admin   544 Jul  6 16:20 ..
    -rw-r--r--@  1 stormacq  admin  6148 Jul  8 15:06 .DS_Store
    drwxr-xr-x   6 stormacq  admin   192 Jul  8 15:26 amplify
    -rw-r--r--   1 stormacq  admin    64 Jul  8 15:26 amplifyconfiguration.json
    -rw-r--r--   1 stormacq  admin   116 Jul  8 15:26 awsconfiguration.json
    drwxr-xr-x   9 stormacq  admin   288 Jul  6 16:12 iOS Getting Started
    drwxr-xr-x@  5 stormacq  admin   160 Jul  8 15:09 iOS Getting Started.xcodeproj

    b. Um Ihr Projekt mit dem CocoaPods-Paketmanager zu initialisieren, führen Sie den folgenden Befehl aus.

    ## is Xcode really closed ?
    
    ## Initialize the Amplify Project
    pod init

    Nachdem Sie dies getan haben, sollten Sie eine neu erstellte Datei namens Podfile sehen. Diese Datei wird verwendet, um zu beschreiben, von welchen Paketen Ihr Projekt abhängt.

    c. Podfile aktualisieren, um die folgenden Pods aufzunehmen und die Plattform zu aktualisieren:

    # you need at least version 13.0 for this tutorial, more recent versions are valid too
    platform :ios, '13.0'
    
    target 'iOS Getting Started' do
      # Comment the next line if you don't want to use dynamic frameworks
      use_frameworks!
    
      # Pods for getting started
      pod 'Amplify', '~> 1.0'             # required amplify dependency
      pod 'Amplify/Tools', '~> 1.0'       # allows to call amplify CLI from within Xcode
    
    end

    d. Um die Amplify-Bibliotheken herunterzuladen und in Ihrem Projekt zu installieren, führen Sie den Befehl aus:

    pod install --repo-update

    e. Nachdem Sie dies getan haben, sollten Sie nun eine Datei namens iOS Getting Started.xcworkspace sehen. Sie müssen diese Datei von nun an anstelle der iOS Getting Started.xcodeproj-Datei verwenden.

    Ihr Verzeichnis sollte nun wie folgt aussehen:

    ➜  iOS Getting Started git:(master) ✗ ls -al
    total 32
    drwxr-xr-x   9 stormacq  admin   288 Jul  8 15:09 .
    drwxr-xr-x  17 stormacq  admin   544 Jul  6 16:20 ..
    -rw-r--r--@  1 stormacq  admin  6148 Jul  8 15:06 .DS_Store
    drwxr-xr-x   6 stormacq  admin   192 Jul  8 15:26 amplify
    -rw-r--r--   1 stormacq  admin    64 Jul  8 15:26 amplifyconfiguration.json
    -rw-r--r--   1 stormacq  admin   116 Jul  8 15:26 awsconfiguration.json
    -rw-r--r--   1 stormacq  admin   394 Jul  8 15:09 Podfile
    -rw-r--r--   1 stormacq  admin   359 Jul  8 15:09 Podfile.lock
    drwxr-xr-x   8 stormacq  admin   256 Jul  8 15:09 Pods
    drwxr-xr-x   9 stormacq  admin   288 Jul  6 16:12 iOS Getting Started
    drwxr-xr-x@  5 stormacq  admin   160 Jul  8 15:09 iOS Getting Started.xcodeproj
    drwxr-xr-x   3 stormacq  admin    96 Jul  8 15:09 iOS Getting Started.xcworkspace

    Um Ihren Workspace in Xcode zu öffnen, führen Sie den Befehl aus:

    xed .
  • Zur Laufzeit benötigen die Amplify-Bibliotheken die Amplify-Konfigurationsdateien, die von der CLI erstellt werden

    a. Hinzufügen der Amplify-Konfigurationsdateien zu unserem Projekt

    Suchen Sie mit dem Finder awsconfiguration.json und amplifyconfiguration.json im Root-Verzeichnis Ihres Projektverzeichnisses. Ziehen Sie sie per Drag & Drop in Ihr Xcode-Projekt:

    b. Laden Sie die Amplify-Klassen zur Laufzeit

    Lassen Sie uns eine Backend-Klasse erstellen, um den Code für die Interaktion mit unserem Backend zu gruppieren. Wir verwenden ein Singleton-Designmuster, um es durch die Anwendung leicht verfügbar zu machen und um sicherzustellen, dass die Amplify-Bibliotheken nur einmal initialisiert werden.

    Der Klasseninitialisierer kümmert sich um die Initialisierung der Amplify-Bibliotheken.

    Erstellen Sie eine neue Swift-Textdatei Backend.swift, fügen Sie sie zu Ihrem Xcode-Projekt hinzu (STRG-N) und fügen Sie diesen Code hinzu:

    import UIKit
    import Amplify
    
    class Backend {
        static let shared = Backend()
        static func initialize() -> Backend {
            return .shared
        }
        private init() {
          // initialize amplify
          do {
            try Amplify.configure()
            print("Initialized Amplify");
          } catch {
            print("Could not initialize Amplify: \(error)")
          }
        }
    }

    Wir initialisieren unser Singleton-Backend-Objekt, wenn der Start der Anwendung beendet ist.

    Öffnen Sie die Datei AppDelegate.swift und fügen Sie Backend.initialize(); in der Anwendung(:didFinishLaunchingWithOptions:) Methode hinzu, genau wie hier:

    // inside the AppDelegate.swift file 
    func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
    
        // initialize Amplify
        let _ = Backend.initialize()
    
        return true
    }
  • Um zu überprüfen, ob alles wie erwartet funktioniert, erstellen Sie das Projekt. Klicken Sie auf das Menü Produkt und wählen Sie Build oder geben Sie ⌘B ein. Es sollte kein Fehler vorliegen.

Fazit

Sie haben das Amplify-Projekt initialisiert und sind nun bereit, mit dem Hinzufügen von Funktionen zu beginnen! Im nächsten Modul fügen wir einen kompletten Benutzerauthentifizierungsfluss mit nur wenigen Codezeilen hinzu.

War das Modul hilfreich?

Authentifizierung hinzufügen