Nozioni di base su AWS

Creazione di un'applicazione iOS

Crea una semplice applicazione iOS utilizzando AWS Amplify

Modulo 2: Inizializzazione di Amplify

In questo modulo, installerai e configurerai la CLI di Amplify.

Introduzione

Ora che abbiamo creato un’applicazione iOS, vogliamo continuare a sviluppare e aggiungere nuove funzionalità.

Per iniziare a utilizzare AWS Amplify nella tua applicazione, devi installare la riga di comando di Amplify, inizializzare la directory del progetto Amplify, configurare il progetto per l'utilizzo delle librerie Amplify e inizializzare le librerie Amplify al momento del runtime.

Avrai modo di approfondire i seguenti aspetti

  • Inizializzazione di un nuovo progetto Amplify
  • Aggiunta delle librerie Amplify al progetto
  • Inizializzazione delle librerie Amplify al momento del runtime

Concetti chiave

CLI di Amplify: la CLI di Amplify consente di creare, gestire e rimuovere i servizi AWS direttamente dal terminale.

Librerie Amplify: le librerie di Amplify consentono di interagire con i servizi AWS da un'applicazione Web o mobile.

 Tempo richiesto per il completamento

10 minuti

 Servizi utilizzati

Implementazione

  • Installazione della CLI di Amplify

    L'interfaccia a riga di comando (CLI) di AWS Amplify dipende da Node.js, fai riferimento alla sezione dei prerequisiti nell’introduzione per installare Node.js.

    Per installare l'interfaccia a riga di comando (CLI) di AWS Amplify, apri un terminale e digita il seguente comando:

    ## Install Amplify CLI
    npm install -g @aws-amplify/cli
    
    ## Verify installation and version
    amplify --version
    # Scanning for plugins...
    # Plugin scan successful
    # 4.27.2
  • Inizializzazione di un back-end Amplify

    Per creare la struttura di base del nostro back-end, è innanzitutto necessario inizializzare la directory del progetto Amplify e creare il back-end del cloud.

    Apri un terminale e modifica le directory nel progetto. Ad esempio, se hai creato il progetto nella cartella ~/Developer, puoi digitare:

    cd ~/Developer/iOS\ Getting\ Started

    Verifica di trovarti nella directory corretta, che dovrebbe avere il seguente aspetto:

    ➜  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

    Inizializza la struttura del progetto e il file di configurazione Amplify. Esegui il seguente comando:

    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.

    Se ancora non disponi di un profilo, puoi crearne uno utilizzando l'interfaccia a riga di comando (CLI) AWS tramite AWS configure (Configurazione AWS) -- profile (Profilo) <nome>.

    Amplify inizializza il progetto nel cloud; questa operazione potrebbe richiedere qualche minuto. Dopo alcuni minuti, dovresti visualizzare un messaggio simile:

    ✔ 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!
  • Aggiunta di librerie Amplify al progetto

    Prima di avviare questa fase, assicurati di chiudere Xcode.

    a. Apri un terminale e modifica le directory nel progetto. Ad esempio, se hai creato il progetto nella cartella ~/Developer, puoi:

    cd ~/Developer/iOS\ Getting\ Started

    Per verificare di trovarti nella directory corretta, osserva se ha il seguente aspetto:

    ➜  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. Per inizializzare il progetto con il gestore di pacchetti CocoaPods, esegui il comando seguente.

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

    Dopo aver eseguito questa azione, dovresti vedere un nuovo file chiamato Podfile. Questo file viene utilizzato per descrivere i pacchetti da cui dipende il tuo progetto.

    c. Aggiorna il Podfile in modo da includere i seguenti pod e aggiornare la piattaforma:

    # 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. Per scaricare e installare le librerie Amplify nel progetto, esegui il comando:

    pod install --repo-update

    e. Dopo aver eseguito questa azione, dovresti vedere un file chiamato iOS Getting Started.xcworkspace. D’ora in poi dovrai utilizzare questo file anziché il file iOS Getting Started.xcodeproj.

    L’aspetto della directory dovrebbe essere il seguente:

    ➜  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

    Per aprire uno spazio di lavoro in Xcode, esegui il comando:

    xed .
  • Inizializzazione di Amplify al momento del runtime

    Al momento del runtime, le librerie Amplify richiedono i file di configurazione Amplify generati dall'interfaccia a riga di comando (CLI)

    a. Aggiungi i file di configurazione Amplify al progetto

    Nella pagina di ricerca, individua awsconfiguration.json e amplifyconfiguration.json nella radice della directory del progetto. Trascinali e rilasciali nel progetto Xcode:

    iOSTutorial-Module2-Step1

    b. Caricamento delle classi Amplify durante il runtime

    Creiamo una classe di back-end per raggruppare il codice per l'interazione con il back-end. Si utilizza un singolo modello di progettazione in modo che sia facilmente disponibile in tutta l’applicazione e per assicurare che le librerie Amplify vengano inizializzate solo una volta.

    L'inizializzatore di classe si occupa di inizializzare le librerie Amplify.

    Crea un nuovo file di testo Swift Backend.swift, aggiungilo al progetto Xcode (CTRL-N) e aggiungi questo codice:

    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)")
          }
        }
    }

    Al termine dell’avvio dell’applicazione, il singolo oggetto di back-end verrà inizializzato.

    Apri il file AppDelegate.swift e aggiungi Backend.initialize(); al metodo application(:didFinishLaunchingWithOptions:), così come illustrato di seguito:

    // inside the AppDelegate.swift file 
    func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
    
        // initialize Amplify
        let _ = Backend.initialize()
    
        return true
    }
  • Verifica della configurazione

    Per verificare che tutto funzioni come previsto, crea il progetto. Fai clic sul menu Product (Prodotto) e seleziona Build (Crea) o digita ⌘B. Non dovrebbero essere restituiti errori.

Conclusione

Hai inizializzato il progetto Amplify e sei pronto per iniziare ad aggiungervi delle funzionalità. Nel prossimo modulo, aggiungeremo un intero flusso di autenticazione utente usando poche righe di codice.

Questo modulo è stato utile?

Grazie
Facci sapere cosa ti è piaciuto.
Chiudi
Spiacenti di non esserti stati d'aiuto
C'è qualcosa di obsoleto, ambiguo o approssimativo? Aiutaci a migliorare questo tutorial con il tuo feedback.
Chiudi

Aggiungi autenticazione