Installs

Before we begin coding, there are a few things we need to install, update, and configure on your laptop.

Apple Software

In order to develop native applications for iOS, you need to have XCode installed on your laptop. You can download and install XCode from Apple’s App Store. The download is ~2Gb, so it might take up to one hour depending on your network connection.

If you are attending this workshop during re:Invent 2019, ask an AWS Staff member to get a USB key containing XCode 11 package.

This workshop requires Swift 5.1 and Swift UI framework. These are provided by XCode 11 or more recent.

Installing or updating

You need different command line tools to be installed : aws, amplify, cocoapods and jq. These tools have themselves requirements on python, pip, nodejs and npm. To install and configure these, open a Terminal on your laptop and type the following commands:

Follow these instructions to install the prerequisites using HomeBrew package manager.

# install brew itself
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

# install python3 and pip3
brew install python3

# install the AWS CLI
brew install awscli

# install Node.js & npm
brew install node

# install the AWS Amplify CLI
npm install -g @aws-amplify/cli

# install jq
# required to import some data into our API and
# to automate local tasks, such as cleanup)
brew install jq

# install cocoa pods
sudo gem install cocoapods

If you already have one or several of these dependencies installed, just verify you have the latest version. Here are the versions we tested the workshop instructions with. Any more recent version should work as well.

brew --version
# Homebrew 2.2.0
# Homebrew/homebrew-core (git revision abe6e; last commit 2019-11-04)
# Homebrew/homebrew-cask (git revision e317e; last commit 2019-11-04)

python3 --version
# Python 3.7.5

aws --version
# aws-cli/1.16.290 Python/3.7.5 Darwin/18.7.0 botocore/1.13.26

node --version
# v13.2.0

amplify --version
# Scanning for plugins...
# Plugin scan successful
# 4.2.0

pod --version
# 1.8.4

These commands will take a few minutes to finish.

To learn more about the tools we are instaling, you can follow the following links: