Configuration on local Mac device

In case of Hybrid Execution for iOS Apps, we need to perform some additional steps as compared to configuration required for Hybrid Execution of Web or Mobile Web Apps. They are:

1. Get an Apple Developer Account

This is required for you to download the latest version of XCode from official Apple Developer website. You can simply sign up for an Apple developer account there if you haven't already.

2. Install XCode

XCode is the Android Studio equivalent for iOS devices. It is required for the connection between an iOS device and the Mac.

You can get it here - XCode - Apple Developer website

3. Install Appium Desktop

We need to install Appium Desktop Application for the local Mac to communicate with the mobile device and run tests on it. The Appium Desktop application is a wrapper for Appium Server, Node, and UI Inspector. Appium Server sets up a hub for the iOS device(s) to connect to and routes the commands from the Mac to the iOS device(s).

Appium Desktop - Official Github release page

Note: Please use Appium release version 1.6.2(Appium 1.8.2 beta) to avoid compatibility issues.

4. Setup XCode

Open Terminal and enter the following commands to configure XCode.

sudo xcode-select --reset
sudo xcode-select --switch /Applications/

5. Real Device Setup

In addition to the above steps, you need to perform some more steps for automating iOS apps on real devices due to Apple's security restrictions. Please follow the guide given below:

XCUITest real device setup doc

After all of the above configurations are done, start the Appium Server with default configuration i.e Host address - and port 4723.

Check the README section on the Appium GitHub page for more details.

Configuration of Local iOS device

Also, we need to do the following on the iOS device to enable Test Execution on it.

1. Enable UI Automation by going to Settings > Developer Options(at the bottom of the page) > Enable UI Automation.

Happy Automation Testing!