How Appium works for IOS Automation

My question is, how will the Appium server communicate with IOS device using UIAutomation.
I want to know the exact steps as it happens when we run our automation script.
How the session is created between the client & server?
When will the server launch UIAutomation client?
How desired capabilities are set.
How Bootstrap.js is launched in the device.
How does UIAutomation (Instruments or whatever) communicate with Bootstrap.js in the device to execute the commands on the device.

Basically, what all happens in the background when we run our automation script to automate IOS devices.

All answers can be found in https://github.com/appium/appium-ios-driver/tree/master/lib

Also, UiAutomation is considered obsolete for iOS and is not supported since version 10. Modern iOS versions use XCTest framework for automation purposes.

https://github.com/appium/appium-xcuitest-driver implements the most recent APIs used for iOS automation.

1 Like