Skip to content
This repository was archived by the owner on Dec 7, 2023. It is now read-only.

google/ios-device-control

iOS Device Control Library

iOS Device Control is a Java library for controlling the iOS Simulator and real (physical) iOS devices tethered to a device running macOS. The library offers the ability to get device properties, install and start applications, take screenshots, capture logs, and more!

Examples of how to use this library can be found here. To build the examples, run:

mvn assembly:assembly

which will create two runnable jars in the target directory.

Installation

iOS Device Control only works on macOS with tethered real devices or with Xcode 8+ with the simctl tool installed for the iOS Simulator.

Simulator Automation

Install Xcode 8 or above and verify the following command works:

xcrun simctl --version

Real Device Automation

The following dependencies can be installed easily with homebrew:

brew install autoconf automake libtool libxml2 libzip pkg-config openssl

Install libplist by building from source:

git clone https://github.com/libimobiledevice/libplist.git
cd libplist
./autogen.sh
make
sudo make install

Install libusbmuxd by building from source:

git clone https://github.com/libimobiledevice/libusbmuxd.git
cd libusbmuxd
./autogen.sh
make
sudo make install

Install libimobiledevice by building from source:

git clone https://github.com/libimobiledevice/libimobiledevice.git
cd libimobiledevice
./autogen.sh
make
sudo make install

Install ideviceinstaller by building from source:

git clone https://github.com/libimobiledevice/ideviceinstaller.git
cd ideviceinstaller
./autogen.sh
make
sudo make install

Install idevice_app_runner and idevicewebinspectorproxy by building from source. This can be done by following the instructions outlined in the READMEs of the respective projects in the third_party directory.

Optional Utilities

Most of the iOS Device Control library can be used with just the above tools. For additional control of real devices, the following tools can optionally be installed:

Install Apple Configurator 2 and install the automation tools by selecting the "Install Automation Tools..." option under the Apple Configurator 2 menu.

Install the provided OpenUrl app by following the instructions here to automate Safari on real devices.

Troubleshooting

For real devices, make sure that both the device is trusted and the lockdown folder has the correct permissions.

sudo chmod -R 777 /var/db/lockdown

License

iOS Device Control is licensed under the open-source Apache 2.0 license.

Contributing

Please see the guidelines for contributing before creating pull requests.

About

No description, website, or topics provided.

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published