Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Is there a way to remove the authorization prompt from command-line instances of Instruments (Xcode)?

I am currently using Instruments via a bash script to initiate the command-line interface to start up runs of the Automation plug-in.

With 4.2, this worked well enough, however with the upgrade to Xcode 4.3, I am now being prompted for an authorized user to 'analyze other processes'. No user is ever actually authenticated, even if the correct credentials are granted. I get the following error:

Failed to authorize rights (0x20) with status: -60007. 2012-02-27 19:30:37.232 instruments[54151:1c03] Failed to connect to local pid watcher     service: (os/kern) failure 

Even with the authentication failure, the Automation plug-in executes, however this requires my script to have a physical babysitter enter credentials, which in many ways defeats the purpose of these command-line runs. Is it possible to add the user details as arguments? Or is there some other way to skip over this prompt without requiring a person at the keys?

-- EDIT --

This authorization dialog appears when you try to run UIAutomation tests from the GUI for the first time.

enter image description here

Filed a radar rdar://10945962.

-- EDIT --

Once the authorization dialog has been answered in the GUI, the prompts stop appearing on the command-line. This kind of work-around doesn't seem valid as an 'answer' though.

like image 895
Darc Avatar asked Feb 28 '12 03:02

Darc


1 Answers

Okay I think I got it working.

Here are some more details about how to remove xcode command line authorization prompt

What I did was the following:

  • Mark jenkins user as admin (unfortunately it seems that there is no other way atm)
  • Go to /etc/authorization
  • search for key system.privilige.taskport
  • change value of allow-root to true

    <key>system.privilege.taskport</key> <dict>     <key>allow-root</key>     <false/> // change to -> <true>     <key>class</key>     <string>user</string>     <key>comment</key>     <string>Used by task_for_pid(...).     ... </dict> 

Now I am being able to use jenkins to run my UIAutomation-Tests via Command Line Script

like image 187
Alexander Avatar answered Sep 25 '22 05:09

Alexander