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.