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:
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.