Update tools to use new TCP stack

This commit is contained in:
Jackson Coxson
2025-05-23 01:36:43 -06:00
parent de4a4e2722
commit 9c5d872cf4
3 changed files with 87 additions and 192 deletions

View File

@@ -2,7 +2,9 @@
// Just lists apps for now
use clap::{Arg, Command};
use idevice::{core_device_proxy::CoreDeviceProxy, xpc::XPCDevice, IdeviceService};
use idevice::{
core_device_proxy::CoreDeviceProxy, rsd::RsdClient, tcp::stream::AdapterStream, IdeviceService,
};
mod common;
@@ -69,26 +71,31 @@ async fn main() {
let rsd_port = proxy.handshake.server_rsd_port;
let mut adapter = proxy.create_software_tunnel().expect("no software tunnel");
adapter.connect(rsd_port).await.expect("no RSD connect");
let stream = AdapterStream::connect(&mut adapter, rsd_port)
.await
.expect("no RSD connect");
// Make the connection to RemoteXPC
let client = XPCDevice::new(Box::new(adapter)).await.unwrap();
let mut client = RsdClient::new(stream).await.unwrap();
// Get the debug proxy
let service = client
.services
.get_services()
.await
.unwrap()
.get(idevice::dvt::SERVICE_NAME)
.expect("Client did not contain DVT service")
.to_owned();
let mut adapter = client.into_inner();
adapter.connect(service.port).await.unwrap();
let stream = AdapterStream::connect(&mut adapter, service.port)
.await
.unwrap();
let mut rs_client = idevice::dvt::remote_server::RemoteServerClient::new(Box::new(adapter));
rs_client.read_message(0).await.expect("no read??");
let mut ls_client = idevice::dvt::remote_server::RemoteServerClient::new(stream);
ls_client.read_message(0).await.expect("no read??");
let mut ls_client =
idevice::dvt::location_simulation::LocationSimulationClient::new(&mut rs_client)
idevice::dvt::location_simulation::LocationSimulationClient::new(&mut ls_client)
.await
.expect("Unable to get channel for location simulation");