pub struct ConnectedDevice {
pub info: DeviceInfo,
pub tunnel: Option<Arc<TunnelHandle>>,
pub rsd: Option<RsdHandshake>,
/* private fields */
}Fields§
§info: DeviceInfo§tunnel: Option<Arc<TunnelHandle>>§rsd: Option<RsdHandshake>RSD service directory (only available after tunnel is up on iOS 17+)
Implementations§
Source§impl ConnectedDevice
impl ConnectedDevice
pub fn server_address(&self) -> Option<&str>
pub fn userspace_port(&self) -> Option<u16>
pub fn rsd_port(&self) -> Option<u16>
Sourcepub async fn connect_service(
&self,
service_name: &str,
) -> Result<ServiceStream, CoreError>
pub async fn connect_service( &self, service_name: &str, ) -> Result<ServiceStream, CoreError>
Open a lockdown service stream (iOS <17 or iOS 17+ services also accessible via lockdown).
Sourcepub async fn product_version(&self) -> Result<Version, CoreError>
pub async fn product_version(&self) -> Result<Version, CoreError>
Get the device’s iOS version via lockdown.
Sourcepub async fn lockdown_get_value(
&self,
key: Option<&str>,
) -> Result<Value, CoreError>
pub async fn lockdown_get_value( &self, key: Option<&str>, ) -> Result<Value, CoreError>
Get a lockdown value by key (domain=None for global domain).
Sourcepub async fn lockdown_get_value_in_domain(
&self,
domain: Option<&str>,
key: Option<&str>,
) -> Result<Value, CoreError>
pub async fn lockdown_get_value_in_domain( &self, domain: Option<&str>, key: Option<&str>, ) -> Result<Value, CoreError>
Get a lockdown value by optional domain and key.
Sourcepub async fn lockdown_set_value(
&self,
key: Option<&str>,
value: Value,
) -> Result<(), CoreError>
pub async fn lockdown_set_value( &self, key: Option<&str>, value: Value, ) -> Result<(), CoreError>
Set a lockdown value by key (domain=None for global domain).
Sourcepub async fn lockdown_set_value_in_domain(
&self,
domain: Option<&str>,
key: Option<&str>,
value: Value,
) -> Result<(), CoreError>
pub async fn lockdown_set_value_in_domain( &self, domain: Option<&str>, key: Option<&str>, value: Value, ) -> Result<(), CoreError>
Set a lockdown value by optional domain and key.
Sourcepub async fn lockdown_remove_value(
&self,
key: Option<&str>,
) -> Result<(), CoreError>
pub async fn lockdown_remove_value( &self, key: Option<&str>, ) -> Result<(), CoreError>
Remove a lockdown value by key (domain=None for global domain).
Sourcepub async fn lockdown_remove_value_in_domain(
&self,
domain: Option<&str>,
key: Option<&str>,
) -> Result<(), CoreError>
pub async fn lockdown_remove_value_in_domain( &self, domain: Option<&str>, key: Option<&str>, ) -> Result<(), CoreError>
Remove a lockdown value by optional domain and key.
Sourcepub async fn lockdown_international_configuration(
&self,
) -> Result<InternationalConfiguration, CoreError>
pub async fn lockdown_international_configuration( &self, ) -> Result<InternationalConfiguration, CoreError>
Read language and locale metadata from com.apple.international.
Sourcepub async fn connect_rsd_service(
&self,
service_name: &str,
) -> Result<ServiceStream, CoreError>
pub async fn connect_rsd_service( &self, service_name: &str, ) -> Result<ServiceStream, CoreError>
Connect to an RSD service as a raw TCP stream (no XPC/H2 framing).
Suitable for DTX-based services like com.apple.instruments.dtservicehub.
Supports userspace proxy and direct IPv6/kernel tunnel connections.
Performs an on-demand RSD handshake if rsd is not already populated.