From c3be9b94d3960fb546cdb721c5f00d26567ba511 Mon Sep 17 00:00:00 2001 From: Martin Szulecki Date: Thu, 4 Jun 2020 23:53:47 +0200 Subject: Add "--network" option in ideviceactivation tool to support network devices --- tools/ideviceactivation.c | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/tools/ideviceactivation.c b/tools/ideviceactivation.c index a0adba1..bc660d5 100644 --- a/tools/ideviceactivation.c +++ b/tools/ideviceactivation.c @@ -64,6 +64,7 @@ static void print_usage(int argc, char **argv) printf("The following OPTIONS are accepted:\n"); printf(" -d, --debug\t\tenable communication debugging\n"); printf(" -u, --udid UDID\ttarget specific device by UDID\n"); + printf(" -n, --network\t\tconnect to network device even if available via USB\n"); printf(" -b, --batch\t\texplicitly run in non-interactive mode (default: auto-detect)\n"); printf(" -s, --service URL\tuse activation webservice at URL instead of default\n"); printf(" -v, --version\t\tprint version information and exit\n"); @@ -138,6 +139,7 @@ int main(int argc, char *argv[]) int i; int interactive = 1; int result = EXIT_FAILURE; + enum idevice_options lookup_opts = IDEVICE_LOOKUP_USBMUX | IDEVICE_LOOKUP_NETWORK; typedef enum { OP_NONE = 0, OP_ACTIVATE, OP_DEACTIVATE, OP_GETSTATE @@ -163,6 +165,10 @@ int main(int argc, char *argv[]) udid = argv[i]; continue; } + else if (!strcmp(argv[i], "-n") || !strcmp(argv[i], "--network")) { + lookup_opts |= IDEVICE_LOOKUP_PREFER_NETWORK; + continue; + } else if (!strcmp(argv[i], "-s") || !strcmp(argv[i], "--service")) { i++; if (!argv[i]) { @@ -213,20 +219,14 @@ int main(int argc, char *argv[]) return EXIT_FAILURE; } - if (udid) { - ret = idevice_new(&device, udid); - if (ret != IDEVICE_E_SUCCESS) { - printf("No device found with UDID %s, is it plugged in?\n", udid); - return EXIT_FAILURE; - } - } - else - { - ret = idevice_new(&device, NULL); - if (ret != IDEVICE_E_SUCCESS) { - printf("No device found, is it plugged in?\n"); - return EXIT_FAILURE; + ret = idevice_new_with_options(&device, udid, lookup_opts); + if (ret != IDEVICE_E_SUCCESS) { + if (udid) { + printf("ERROR: Device %s not found!\n", udid); + } else { + printf("ERROR: No device found!\n"); } + return EXIT_FAILURE; } if (LOCKDOWN_E_SUCCESS != lockdownd_client_new_with_handshake(device, &lockdown, "ideviceactivation")) { -- cgit v1.1-32-gdbae