# Configuring local iOS simulator

> 1. Install **Xcode**. Visit [Installing Xcode and Simulators](https://developer.apple.com/documentation/safari-developer-tools/installing-xcode-and-simulators) for more
   information about Xcode.
2. Open a Terminal and run the following
   command to install Homebrew: `/usr/bin/ruby -e "$(curl -fsSL
   https://raw.githubusercontent.com/Homebrew/install/master/install)"`.
3. Run the following command to install NodeJS: `brew install node`
4. Install Appium:
   1. For **Appium 1.0**, run
      the following command: `npm install -g appium`. This
      automatically installs all drivers needed.
   2. For **Appium 2.0**, run the following command: `npm install -g
      appium@next`.

## Prerequisites

1. Install **Xcode**. Visit [Installing Xcode and Simulators](https://developer.apple.com/documentation/safari-developer-tools/installing-xcode-and-simulators) for more
   information about Xcode.
2. Open a Terminal and run the following
   command to install Homebrew: `/usr/bin/ruby -e "$(curl -fsSL
   https://raw.githubusercontent.com/Homebrew/install/master/install)"`.
3. Run the following command to install NodeJS: `brew install node`
4. Install Appium:
   1. For **Appium 1.0**, run
      the following command: `npm install -g appium`. This
      automatically installs all drivers needed.
   2. For **Appium 2.0**, run the following command: `npm install -g
      appium@next`.

      **Appium 2.0** comes without the drivers
      installed. Therefore, to install the needed drivers, also run the
      following command: `appium driver install
      xcuitest`.

      :::important
      * We recommend
      using **Appium 2.0** with **Mobile Automation** version
      **22.10** or higher.
      * Install **Appium
      2.0** if you want to test your mobile automations on an
      **iOS Physical Device**.
         * Open
         Xcode and allow it to install any additional components
         it may require. Close it once you see the splash screen.
         * Start the Appium server, using the following command:
         `appium --port 8001 --default-capabilities
         "{\"appium:systemPort\":9001}"
         --relaxed-security`.
         ![docs image](https://dev-assets.cms.uipath.com/assets/images/activities/activities-docs-image-126058-b050a984.webp)
      :::

## Configuring local simulator iOS device

Perform the following steps to configure a local iOS simulator.

1. Install and add Simulator runtimes.
   1. Open Xcode and navigate to the menu bar. Click **Xcode** and then
      **Settings**.
   2. Go to the **Platforms** tab.
   3. Click the **Add** button,
      and then select a platform to view a list of its available versions.
   4. Select a version and click **Download & Install**.
2. Add a Simulator.
   1. In Xcode, from the menu bar, select **Xcode** and then **Devices and
      Simulators**.
   2. At the top of the sidebar, select **Simulators**, and click **Add
      button**.
   3. Select a **Device Type**
      and **OS Version** for your simulator. Optionally, give it a name.
   4. Select **Create** to create the new simulator.
3. Get the Appium URL and save it for later:
   1. Go to **System Settings**, then the **Network** tab, and select the
      Wi-Fi network that the iOS device is connected to.
   2. Copy the **IP Address** for the Wi-Fi network. The format of the Appium
      URL is `https://<ipaddress>:8001>` (8001 is the port
      number where you start Appium).
4. Get the UDID of the simulator that you added to Xcode.
   1. Go to **Windows**, then to **Devices and Simulators**, and lastly,
      **Simulators**.
   2. Click the iOS simulator you added.
   3. Copy the **Identifier**. This is the UDID, that you'll later add as an
      additional desired capability, when adding this iOS simulator to MDM.
5. Build **WebDriverAgent** with Xcode on your Mac:
   1. Navigate to the `appium-webdriveragent` folder, using the
      following path:
      `/Users/<username>/appium2/node_modules/appium-xcuitest-driver/node_modules/appium-webdriveragent`,
      and open the `xcodeproj` file.
   2. Select **WebDriverAgent**, and open **WebDriverAgentRunner**, under
      the **Targets** section.
   3. Switch to the **Signing & Capabilities** tab, select
      **Automatically manage signing**, and choose a user account from the
      **Team** dropdown.
   4. Change the **Bundle Identifier** to a unique value.
   5. Copy and save this Bundle Identifier. You'll use it to add your Application
      inside MDM (**Bundle Id**).
6. Install the **WebDriverAgent** on your iOS simulator.
   1. Select **WebDriverAgentRunner** in the WebDriverAgent navigation
      bar.
   2. In Xcode, go to **Product**, and click **Test**. On your iOS
      simulator, you'll see the **WebDriverAgent** installing.
7. Add the configurated iOS local simulator in Mobile Device Manager using the
   **Adding local iOS device in Mobile Device Manager** task.
