iOS UI/Device Controller

The contents of this repo are Proof of Concept and For Educational Use Only! Archived and no longer maintained!

UI/Device Controller automates user activity on any iOS device using XCode UI Tests.

Our team started development on this project early on in it's inception. It was crude, simple, and brilliant. A young kid who hung out in the Dev forums decided to show off his school project (15 years old) --

He used XCode and Swift's Server package to build an app and sideload it onto a device. The app was a crude implementation of MITM. It grabbed the screen state and sent an image of the screen to a laptop.

This was new. iOS, which is notoriously sandboxed had a flaw.

3rd party libraries with optical image processing for non-standard UIElements, launching multiple docker-compose containers for instant replication and deploying Docker Hives for advanced user, creating a Webserver in Xcode, creating a temporary webserver inside of an application sideloaded on any compatible iOS device, all auto-replicated, plug-and-play.

Demonstration using Xcode UI Tests to perform application automation on networked iOS devices. RDM-UIC-Ultra is based on the open-source work of @123FLO321 Thank you for the opportunity , despite our creative differences and content delivery styles, myself and the community have a profound respect for your work. ~thebest100

RealDeviceMap-UIControl is a Device Controller for the RealDeviceMap-Api (

Install Instructions:

  1. Clone repo then checkout uic-ultra branch, git checkout uic-ultra
  2. Install Homebrew /usr/bin/ruby -e "$(curl -fsSL"
  3. Install cococapods sudo gem install cocoapods
  4. Install setup tools sudo easy_install setuptools
  5. Install requests pip2 install requests
  6. Install project podfile pod install
  7. Open .xcworkspace file
  8. Fix signing inside xcode project
  9. Run a test build to make sure the app compiles and runs without errors.
  10. Exit xcode, Back in terminal cd manager
  11. Build manager swift run RDM-UIC-Manager
  12. Wait about 2 minutes, after all of the manager dependencies are downloaded and the terminial is stuck on XcodeBuildservice
  13. ctrl+c then swift run RDM-UIC-Manager and the manager should start from there. (Yes, ctrl+c is necessary for a full build...) If you have any issues, open an issue, PR's are welcome. There is still alot of room for improvement.

RealDeviceMap-UIControl interacts with the iOS Device using Xcode UITesting.
This project shows how to UITest 3rd party apps with optical image processing for none standart UIElements and how to setup and use a Webserver in a Xcode UITest.

Questions? Ask as in Discord:

Share this project: