A Rust library for sideloading iOS applications using an Apple ID. Used in CrossCode and iloader.
You must call isideload::init() at the start of your program to ensure that errors are properly reported. If you don't, errors related to network requests will not show any details.
A full example is available is in examples/minimal.
Things left todo before the rewrite is considered finished
- Proper entitlement handling
- actually parse macho files and stuff, right now it just uses the bare minimum and applies extra entitlements for livecontainer
- Reduce duplicate dependencies
- partially just need to wait for the rust crypto ecosystem to get through another release cycle
- More parallelism and caching for better performance
This project is licensed under the MIT License. See the LICENSE file for details.
- idevice by jkcoxson crate is used to communicate with the device
- apple-codesign-quick by Dadoum for codesigning and entitlements
- Impactor by claration was used as a reference for cryptography operations (converting certs to p12, etc.).
- Sideloader by Dadoum was used as a reference for how apple private developer endpoints work