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).
4. Setup XCode
Open Terminal and enter the following commands to configure XCode.
sudo xcode-select --reset sudo xcode-select --switch /Applications/Xcode.app
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:
After all of the above configurations are done, start the Appium Server with default configuration i.e Host address - 0.0.0.0 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!