About AppleScript authorization for macOS Mojave and later

Starting with macOS 10.14 (Mojave), the OS will show a warning when an AppleScript tries to control some applications. It is not the case for all Applications, and you will only know when the AppleScript is triggered. But you usually don't want to have a warning showing up during your shows. 

This is why we have introduced a new "AppleScript" Preference pane where you will be able to "Authorize" an AppleScript.

MR_AppleScript_PreferencePane.png

Note that this pane will only be there for Applications that trigger AppleScripts.

 

When should AppleScripts be authorized?

IMPORTANT NOTE: Authorizing AppleScripts will actually run the script and do the action. So make sure that you do not do this authorisation during a production, or that the Script does not have an impact on your production. You could write AppleScripts that you use only for tests and don't actually do anything but are just used for Authorization.

Unfortunately it is not very clear as to when an AppleScript will require you to be authorised to control the other Application. It all depends on the kind of application you are controlling, and on the kind of info that you are requesting.

Also, you should not have to authorize again after having installed an update, but just to be sure, you should do that from time to time.

 

 

Changing the location of the AppleScripts

Each application has a default folder in which you can place the various AppleScripts that you want to trigger. At the top of the window, you can see where that AppleScript is located and change its location by clicking on the "Select..." button. 

MR_AppleScript_PreferencePane_Select.png

In the table below you should see the list of AppleScripts that you have placed in the Actions folder.

 

 

Authorizing AppleScripts

About the Test Parameter Value

Before you click on the "Authorize" button, you should first make sure that you have entered a valid "Parameter" in the text field at the bottom:

MR_AppleScript_PreferencePane_ParameterValue.png

The validity of that parameter depends on the AppleScript. Some of them will require a text, others a number. In general it's just a test and leaving it to "TestValue" should be just fine for the purpose of this test. 

 

 What will happen when you click on Authorize?

 As explained above, we will actually run the AppleScript and it will then do the actions it should do. (We tried other options, as just opening the application, but this would not trigger the authorization). So either:

  • the AppleScript does an action that does not impact your production, just click on "Authorize". ;-)
  • if it can have an impact on your production:
    • do that when you are not in production
    • or write another "Test AppleScript" that will do something else, but not impact your production. Make sure it does still try to control all the applications, and that this action triggers an Authorisation. We have seen that some actions triggered it and others not. It basically depend on what you are asking the application.

This is why when you click on Authorize, we will show the following warning:

MR_AppleScriptWarning.png

Authorize

Once you have clicked on "Authorize", a few things may happen:

  • the AppleScript will run and not show any window asking you if you authorize to control another application. You are all good then.
  • a window such as this one will show up. Click on OK. And now you are good.Screenshot_2018-10-30_at_11.46.55.png

 

Possible errors

Error with the Script itself

(A quick reminder that to work, your scripts should all start with "on Action (parameter)", and end with "end Action".)

As the AppleScript runs you may have an actual issue with your script, so you should correct the Script:

MR_ErrorInAppleScript.png

 

Application not authorized

If in the past you have refused the authorization, the following error should be shown:

MR_NotAuthorised.png

To overcome that issue, open System Preferences > Security & Privacy > Privacy. Select "Automation" in the column on the left, and then search for the application that you are currently using and make sure that the checkboxes are enabled.

For example, here it is for MovieRecorder:

SystemPrefPane_Privacy.png

This means that MovieRecorder is allowed to control the Finder and the application "Contacts".

 

 

Have more questions? Submit a request

Comments

Powered by Zendesk