
👋 Welcome! In this tutorial, you will:

- Set up an iOS application configured with Amplify
- Create a data model and persist data to Amplify DataStore
- Connect your local data to synchronize to a cloud backend

## Prerequisites

import ios0 from "/src/fragments/lib/ios-prereq-xcode.mdx";

<Fragments fragments={{ios: ios0}} />

* [Amplify CLI](/cli) version 10 or later. Install by running:

import all0 from "/src/fragments/cli-install-block.mdx";

<Fragments fragments={{all: all0}} />

## Create a new iOS application

1. **Open Xcode.** From the menu bar, select **"File -> New -> Project..."**

2. Select **iOS** tab, choose Application type as **App**, and then click on **Next**.
  ![](/images/lib/getting-started/ios/set-up-ios-select-project-template.png)

1. Fill in the following for your project:
  * Product Name: **Todo**
  * Interface: **SwiftUI**
  * Language: **Swift**
  * Select the **Next** button

  ![](/images/lib/getting-started/ios/set-up-ios-studio-configure-your-project.png)

  After selecting **Next**, **select where you would like to save your project**, and then select **Create**.
  You should now have an empty iOS project without Amplify.

## Add Amplify to your application

**Amplify Library for Swift** is distributed through Swift Package Manager, which is integrated into Xcode. In this section, you'll add the required Amplify packages.

1. **Open a terminal window** and **change to the directory for your application project**. For example, if you created the previous Todo project in the folder `~/Developer`, you can type the following:
  ```bash
  cd ~/Developer/Todo
  ```

1. To create the Amplify project first you will need to use the `amplify` CLI you previously installed. **Run the command**:
  ```bash
  amplify init --quickstart --frontend ios
  ```

1. Switch back to Xcode. Select **File > Add Packages...**

    ![Add package dependency](/images/lib/getting-started/ios/set-up-ios-add-package-dependency.png)

1. Enter the **Amplify Library for Swift** GitHub repo URL (`https://github.com/aws-amplify/amplify-swift`) into the search bar and hit **Enter**.

    Once the result is loaded, choose **Up to Next Major Version** as the Dependency Rule, then click **Add Package**.

    ![Add the Amplify package](/images/lib/getting-started/ios/set-up-ios-search-amplify-repo.png)

1. Lastly, choose which of the libraries you want added to your project. For this tutorial, select **AWSAPIPlugin**, **AWSDataStorePlugin**, and **Amplify**, then click **Add Package**.

    ![Select dependencies](/images/lib/getting-started/ios/set-up-ios-select-dependencies.png)

You are now ready to start building with Amplify! 🎉

<Callout>

You can always modify which packages are included in your project by opening the **Package Dependencies** tab under the project settings.

Click the `Todo` project in the **Project Navigator** to open the **Project Editor**, select `Todo` under **Project** and then click on the **Package Dependencies** tab.

![Edit dependencies](/images/lib/getting-started/ios/set-up-ios-edit_dependencies.png)

</Callout>
