From 66cb80c266a83313abadbd004b5358c1d1761ed3 Mon Sep 17 00:00:00 2001 From: Elias Naur Date: Tue, 8 May 2018 22:59:35 +0200 Subject: [PATCH] misc/ios: inject the -u device_id option before any other arguments The idevicedebugserverproxy command takes a port number without a flag, like so: idevicedebugserverproxy 3222 If the -u flag is added afterwards, it is ignored and the command use an arbitrary device. Instead, always inject the -u flag before any other idevice command arguments. While here, also kill any leftover idevicedebugserverproxy instance previous (failed) runs might have left running. Change-Id: I0bf06ed1a20ef225abeca183f9ba8f396662d435 Reviewed-on: https://go-review.googlesource.com/112216 Run-TryBot: Elias Naur TryBot-Result: Gobot Gobot Reviewed-by: Brad Fitzpatrick --- misc/ios/go_darwin_arm_exec.go | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/misc/ios/go_darwin_arm_exec.go b/misc/ios/go_darwin_arm_exec.go index 11219ce5c7..7c8b7973ad 100644 --- a/misc/ios/go_darwin_arm_exec.go +++ b/misc/ios/go_darwin_arm_exec.go @@ -137,6 +137,9 @@ func runMain() (int, error) { return 1, err } + // Kill any hanging debug bridges that might take up port 3222. + exec.Command("killall", "idevicedebugserverproxy").Run() + closer, err := startDebugBridge() if err != nil { return 1, err @@ -453,7 +456,9 @@ func install(appdir string) error { func idevCmd(cmd *exec.Cmd) *exec.Cmd { if deviceID != "" { - cmd.Args = append(cmd.Args, "-u", deviceID) + // Inject -u device_id after the executable, but before the arguments. + args := []string{cmd.Args[0], "-u", deviceID} + cmd.Args = append(args, cmd.Args[1:]...) } return cmd } -- 2.48.1