Skip to main content

Crate ios_core

Crate ios_core 

Source
Expand description

Unified high-level API for iOS device interaction.

This crate ties together device discovery, pairing, tunneling, and service access into a single ergonomic API. It is the recommended entry point for library consumers.

Key types:

  • [device::IosDevice] — connected device handle with service access
  • discovery — USB and network device discovery

Re-exports§

pub use credentials::PersistedCredentials;
pub use credentials::RemotePairingRecord;
pub use device::connect_direct_usb_tunnel;
pub use device::connect_remote_pairing_tunnel;
pub use device::connect_tcp_lockdown_tunnel;
pub use device::discover_paired_mobdev2_devices;
pub use device::ConnectOptions;
pub use device::ConnectedDevice;
pub use device::InternationalConfiguration;
pub use device::PairedMobdev2Device;
pub use device::ServiceStream;
pub use discovery::browse_mobdev2;
pub use discovery::browse_remotepairing;
pub use discovery::BonjourService;
pub use discovery::DeviceEvent;
pub use discovery::DeviceInfo;
pub use discovery::MdnsDevice;
pub use error::CoreError;
pub use lockdown::LockdownClient;
pub use lockdown::LOCKDOWN_PORT;
pub use mux::MuxClient;
pub use pairing_transport::pair_new_device;
pub use pairing_transport::PairedCredentials;
pub use pairing_transport::UNTRUSTED_SERVICE_NAME;
pub use services::accessibility_audit;
pub use services::afc;
pub use services::amfi;
pub use services::apps;
pub use services::arbitration;
pub use services::companion;
pub use services::crashreport;
pub use services::debugserver;
pub use services::deviceinfo;
pub use services::dproxy;
pub use services::dtx;
pub use services::fetchsymbols;
pub use services::file_relay;
pub use services::fileservice;
pub use services::heartbeat;
pub use services::idam;
pub use services::imagemounter;
pub use services::instruments;
pub use services::mcinstall;
pub use services::misagent;
pub use services::notificationproxy;
pub use services::ostrace;
pub use services::pcap;
pub use services::power_assertion;
pub use services::preboard;
pub use services::prepare;
pub use services::restore;
pub use services::screenshot;
pub use services::springboard;
pub use services::syslog;
pub use services::testmanager;
pub use services::webinspector;
pub use services::backup2;
pub use services::diagnostics;
pub use services::mobileactivation;
pub use services::simlocation;
pub use tunnel::TunMode;
pub use xpc::RsdHandshake;
pub use xpc::ServiceDescriptor;
pub use xpc::XpcMessage;
pub use xpc::XpcValue;

Modules§

credentials
Pairing credential persistence.
device
discovery
error
lockdown
Lockdown protocol client with TLS session establishment, pair record management, and device pairing (including supervised P12 pairing).
mux
usbmuxd client for iOS device discovery and USB/network connection multiplexing.
pairing_transport
SRP pairing XPC transport layer.
proto
Protocol type definitions and codecs for iOS device communication.
psk_tls
services
Feature-gated iOS device service implementations.
tunnel
CDTunnel handshake, TUN device abstraction, and packet forwarding.
xpc
XPC binary protocol over HTTP/2 for iOS 17+ service connections.

Functions§

connect
Connect to an iOS device by UDID and optionally establish a CDTunnel.
discover_mdns
Discover iOS 17+ devices on the local network via mDNS.
list_devices
List all currently connected iOS devices (via usbmuxd).
watch_devices
Watch for usbmux attach/detach events through the reusable ios-core discovery layer.