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:assemblywhich will create two runnable jars in the target directory.
iOS Device Control only works on macOS with tethered real devices or with Xcode 8+ with the simctl tool installed for the iOS Simulator.
Install Xcode 8 or above and verify the following command works:
xcrun simctl --versionThe following dependencies can be installed easily with homebrew:
brew install autoconf automake libtool libxml2 libzip pkg-config opensslInstall 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.
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.
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/lockdowniOS Device Control is licensed under the open-source Apache 2.0 license.
Please see the guidelines for contributing before creating pull requests.
ios-device-control's People
Forkers
juny neotim inpicksys loyalty71583 bulksecuritygeneratorprojectv2 kmccarp ghas-results ashikur09 cyberflamegoRecommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
OpenClaw
Personal AI Assistant
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.