Conceitos básicos da AWS
Criar uma aplicação iOS
Criar uma aplicação iOS simples usando o AWS Amplify
Módulo 2: Inicializar o Amplify
Neste módulo, você instalará e configurará a CLI do Amplify.
Introdução
Agora que criamos uma aplicação iOS, desejamos continuar o desenvolvimento e adicionar novos recursos.
Para começar a usar o AWS Amplify em sua aplicação, é preciso instalar a linha de comando do Amplify, inicializar o diretório do projeto do Amplify, configurar seu projeto para usar as bibliotecas do Amplify e inicializar as bibliotecas do Amplify em tempo de execução.
O que você aprenderá
- Inicializar um novo projeto do Amplify
- Adicionar bibliotecas do Amplify ao seu projeto
- Inicializar bibliotecas do Amplify em tempo de execução
Conceitos principais
CLI do Amplify: a CLI do Amplify permite criar, gerenciar e remover serviços da AWS diretamente do seu terminal.
Bibliotecas do Amplify: as bibliotecas do Amplify permitem interagir com os serviços da AWS de uma aplicação móvel ou Web.
Tempo para a conclusão
10 minutos
Serviços usados
Implementação
-
Instalar a CLI do Amplify
A CLI do AWS Amplify depende do Node.js. Consulte a seção de pré-requisitos na introdução para instalar o Node.js
Para instalar a CLI do AWS Amplify, abra um terminal e digite o seguinte 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
-
Inicializar um back-end do Amplify
Para criar a estrutura básica de nosso back-end, primeiro precisamos inicializar o diretório do projeto do Amplify e criar nosso back-end na nuvem.
Abra um terminal e mude para o diretório do seu projeto. Por exemplo, se você criou seu projeto na pasta ~/Developer, pode digitar:
cd ~/Developer/iOS\ Getting\ Started
Verifique se você está no diretório correto, que deve ser parecido com este:
➜ 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
Inicialize o arquivo de configuração e a estrutura do projeto do Amplify. Execute o seguinte 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.
Você pode criar um perfil usando a CLI da AWS com aws configure --profile <name>, caso ainda não tenha um.
O Amplify inicializa seu projeto na nuvem, o que pode levar alguns minutos. Após alguns minutos, você deve ver uma mensagem como esta:
✔ 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!
-
Adicionar bibliotecas do Amplify ao seu projeto
Antes de começar esta etapa, certifique-se de fechar o Xcode.
a. Abra um terminal e mude para o diretório do seu projeto. Por exemplo, se você criou seu projeto na pasta ~/Developer, pode fazer o seguinte:
cd ~/Developer/iOS\ Getting\ Started
Para verificar se você está no diretório correto, ele deve ser parecido com o seguinte:
➜ 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. Para inicializar seu projeto com o gerenciador de pacotes CocoaPods, execute o comando a seguir.
## is Xcode really closed ? ## Initialize the Amplify Project pod init
Depois de fazer isso, você verá um arquivo recém-criado chamado Podfile. Esse arquivo é usado para descrever os pacotes dos quais seu projeto depende.
c. Atualize o Podfile para incluir os seguintes pods e atualizar a plataforma:
# 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. Para fazer download e instalar as bibliotecas do Amplify em seu projeto, execute o comando:
pod install --repo-update
e. Depois de fazer isso, você verá um arquivo chamado iOS Getting Started.xcworkspace. De agora em diante, você deve usar esse arquivo no lugar do arquivo iOS Getting Started.xcodeproj.
Agora seu diretório deve ter a seguinte aparência:
➜ 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
Para abrir seu espaço de trabalho no Xcode, execute o comando:
xed .
-
Inicializar o Amplify em tempo de execução
Em tempo de execução, as bibliotecas do Amplify precisam dos arquivos de configuração do Amplify gerados pela CLI
a. Adicionar os arquivos de configuração do Amplify ao nosso projeto
Com o Finder, localize o awsconfiguration.json e o amplifyconfiguration.json na raiz do diretório do seu projeto. Arraste-os e solte-os no seu projeto do Xcode:
b. Carregar as classes do Amplify em tempo de execução
Vamos criar uma classe Backend para agrupar o código e interagir com nosso back-end. Usamos um padrão de projeto singleton para torná-lo facilmente disponível por meio da aplicação e para garantir que as bibliotecas do Amplify sejam inicializadas apenas uma vez.
O inicializador de classe se encarrega de inicializar as bibliotecas do Amplify.
Crie um novo arquivo de texto swift Backend.swift, adicione-o ao seu projeto do Xcode (CTRL-N) e inclua este código:
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)") } } }
Inicializamos nosso objeto Backend singleton depois que a aplicação é iniciada.
Abra o arquivo AppDelegate.swift e adicione Backend.initialize(); ao método application(:didFinishLaunchingWithOptions:) da seguinte maneira:
// inside the AppDelegate.swift file func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool { // initialize Amplify let _ = Backend.initialize() return true }
-
Verificar sua configuração
Para verificar se tudo funciona conforme o esperado, compile o projeto. Clique no menu Product (Produto) e selecione Build (Compilar) ou digite ⌘B. Não deve aparecer nenhum erro.