diff --git a/idevice/src/core_device_proxy.rs b/idevice/src/core_device_proxy.rs index 2d1b11b..7ec4864 100644 --- a/idevice/src/core_device_proxy.rs +++ b/idevice/src/core_device_proxy.rs @@ -73,6 +73,10 @@ impl IdeviceService for CoreDeviceProxy { provider: &dyn crate::provider::IdeviceProvider, ) -> Result { let mut lockdown = LockdowndClient::connect(provider).await?; + lockdown + .start_session(&provider.get_pairing_file().await?) + .await?; + let (port, ssl) = lockdown.start_service(Self::service_name()).await?; let mut idevice = provider.connect(port).await?; diff --git a/idevice/src/heartbeat.rs b/idevice/src/heartbeat.rs index 563a9a6..6025ad1 100644 --- a/idevice/src/heartbeat.rs +++ b/idevice/src/heartbeat.rs @@ -16,6 +16,10 @@ impl IdeviceService for HeartbeatClient { provider: &dyn crate::provider::IdeviceProvider, ) -> Result { let mut lockdown = LockdowndClient::connect(provider).await?; + lockdown + .start_session(&provider.get_pairing_file().await?) + .await?; + let (port, ssl) = lockdown.start_service(Self::service_name()).await?; let mut idevice = provider.connect(port).await?; diff --git a/idevice/src/installation_proxy.rs b/idevice/src/installation_proxy.rs index 3fcf5b5..b02b701 100644 --- a/idevice/src/installation_proxy.rs +++ b/idevice/src/installation_proxy.rs @@ -18,6 +18,9 @@ impl IdeviceService for InstallationProxyClient { provider: &dyn crate::provider::IdeviceProvider, ) -> Result { let mut lockdown = LockdowndClient::connect(provider).await?; + lockdown + .start_session(&provider.get_pairing_file().await?) + .await?; let (port, ssl) = lockdown.start_service(Self::service_name()).await?; let mut idevice = provider.connect(port).await?; diff --git a/idevice/src/mounter.rs b/idevice/src/mounter.rs index d555d49..ab3bc56 100644 --- a/idevice/src/mounter.rs +++ b/idevice/src/mounter.rs @@ -15,6 +15,10 @@ impl IdeviceService for ImageMounter { provider: &dyn crate::provider::IdeviceProvider, ) -> Result { let mut lockdown = LockdowndClient::connect(provider).await?; + lockdown + .start_session(&provider.get_pairing_file().await?) + .await?; + let (port, ssl) = lockdown.start_service(Self::service_name()).await?; let mut idevice = provider.connect(port).await?;