Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Instruments automation trace only allows one target connection?

I've created a simple javascript for my iOS app that I'd like to run simultaneously on multiple iOSDevices connected via USB to one host Mac machine. Launching instruments connected to an iPhone from the command line works fine but if I attempt to launch a second instruments connected to an iPad, the first instruments session hangs.


Upon terminating the first instruments session, I get one of more of the following lines printed:

Stopped: Script stopped due to device being disconnected

After extensive research on the subject, with no results on the phrase, I've been trying to read into what is meant by Apple's Instruments Guide:

When you choose All Processes, Attach to Process, or Choose Target from the Target menu, Instruments sets the default target for all instruments to the program you choose. There are occasions, however, when you might want to set a different target for each instrument. You might want to sample two different programs at the same time, for example, using the Sampler instrument. If you have some instruments that are capable of tracing all processes, you might want them to do just that while single-process instruments sample just one process.

I'm wondering if the Automation.tracetemplate is a single-process only instrument and that if another process is started with the same Automation trace then the first is usurped.

Any advice would be grateful as this is a major block for running our time intensive automation tests over multiple iOSDevices.


Update 27 Mar 2012

The following is from an email received after submitting a bug to Apple on the matter (developer.apple.com/bugreporter):

I heard back from a UI Automation engineer. UI Automation is a single process Instrument. As such, you cannot use it simultaneously on multiple devices.

like image 679
ksig Avatar asked Mar 13 '12 20:03

ksig


2 Answers

You could try installing OS X in a virtual machine, and having two instances of the virtual machine running simultaneously. I know that might not be what you are looking for, but it should work.

like image 52
user2676944 Avatar answered Sep 21 '22 10:09

user2676944


Try to connect all your devices to a Mac OS X server then try if that fails get the device to pass it to the other one and then pass to the mac

like image 22
Charles Bartolo Avatar answered Sep 22 '22 10:09

Charles Bartolo