isideload
A Rust library for sideloading iOS applications. Designed for use in CrossCode.
This also serves as a rust library for accessing Apple's private developer APIs. See developer_session.rs for details.
Disclaimer
This package uses private Apple Developer APIs. Use at your own risk.
Usage
To use isideload, add the following to your Cargo.toml:
[]
# Make sure to use the latest version
= { = "0.1.8", = ["vendored-openssl" ] } # Optionally, both vendored features can be enabled to avoid needing OpenSSL installed on your system.
= { = "0.1.40", = ["usbmuxd"]} # Used to give isideload an IdeviceProvider. You don't need to use usbmuxd. For more info see https://github.com/jkcoxson/idevice
Then, you can use it like so:
use ;
use ;
use ;
async
See examples/minimal/src/main.rs.
Licensing
This project is licensed under the MPL-2.0 License. See the LICENSE file for details.
Credits
-
The amazing idevice crate is used to communicate with the device
-
Packages from
apple-private-apiswere used for authentication, but the original project was left unfinished. To support isideload,apple-private-apiswas forked and modified to add missing features. With permission from the original developers, the fork was published to crates.io until the official project is published. -
ZSign was used for code signing with custom rust bindings
-
Sideloader was used as a reference for how the private API endpoints work