Use Satimage scripting additions on Mojave

mojave

(Mark Alldritt) #1

SatimageOSAX (1.0.1)

SatimageOSAX provides access to the Satimage scripting additions on macOS Mojave systems.

As described in the Mojave Brings In Big Security Changes blog post (see the Farewell Scripting Additions section), AppleScript scripting additions (OSAXen) are no longer supported in macOS Mojave. This presents a serious problem for older scripts which depend on the popular suite of Satimage scripting additions.

Installation

  1. Download and mount the SatimageOSAX disk image
  2. Copy the SatimageOSAX application to your Applications folder.
  3. Make sure that you launch the SatimageOSAX application once manually. macOS will ask for permission to run the application because it was downloaded from the internet.

Usage

The SatimageOSAX app makes it possible to continue using Satimage scripting additions with minimal changes to your scripts. Once SatimageOSAX is installed, you only need to add these lines to the beginning of your script:

use scripting additions 
use application "SatimageOSAX"

That’s it. Now the SatimageOSAX application is used to handle all the Satimage scripting addition commands for your script. Please note that this will be slower than before, but your script will run.

Here’s a full example using the Satimage uppercase command:

use scripting additions
use application "SatimageOSAX"

uppercase "Hello Again!"

SatimageOSAX includes the following scripting additions:

  • Files.osax
  • FITS.osax
  • Numerics.osax
  • Satimage.osax
  • XMLLib.osax

Backwards Compatibility

SatimageOSAX can be used on macOS 10.12 (Sierra) and above. When using SatimageOSAX on pre-Mojave systems, I suggest removing the Satimage scripting additions from your system to avoid conflicts.

WARNING

I STRONGLY encourage you not to rely on SatimageOSAX as a long term solution.

I suspect Apple will remove the functionality on which SatimageOSAX depends in future versions of macOS. You should find alternative means of accomplishing what the Satimage scripting additions did for you in the past. The Script Debugger support forum provides a list of AppleScript libraries you can use. And then there is AppleScript Objective-C which gives you access to all the feature of Apple’s Foundation framework (and other Objective-C frameworks).

Support

If you have questions concerning SatimageOSAX please post them on the Script Debugger Support Forum or MacScripter.net. Bugs can be filed as issues with the GitHub repository.

License

SatimageOSAX is licensed under the MIT license (see the LICENSE file for details).

Source Code

Source code for SatimageOSAX is available on GitHub. Pull requests are welcome.

See Also

LNSOSAX


Use LNS freeware scripting additions on Mojave
Codesigned XML Tools?
Scripting additions on Mojave
(Bill Earl) #2

Thanks, Mark. I just tried your “Hello Again!” script in macOS 10.14.1 beta 3, but only got the AppleScript Execution Error (-1,708) >> SatimageOSAX got an error: “Hello Again!” doesn’t understand the “uppercase” message.

Similar errors in other testing using Satimage and XMLLib osaxen.


(Simon Topliss) #3

Amazing work, Mark!

Can this (the github project) be adopted to work with other Scripting Additions?

I’ve got ASObjC solutions for most of the Satimage.osax functionality I use.

The one that’s going to take the most development time is to replace is “24U Appearance OSAX.osax”. (Mainly progress indicator and display better dialog.)

Simon


(Mark Alldritt) #4

This sounds link an installation issue. Does it work any better when you make the tell application explicit?

tell application "SatimateOSAX"
    uppercase "Hello Again!"
end

(Mark Alldritt) #5

Yes, it certainly can. The OSAXHost folder within the GitHub project is generic and the Satimage folder contains all the Satimage specific parts of the app. Its just a matter of duplicating the SatimageOSAX Xcode target and replacing the Satimage parts of the app with 24U Appearance pieces.

NOTE: As 24U Appearance OSAX is a paid product, I cannot offer a pre-built Mojave host app.


(Bill Earl) #6

I removed Satimage OSAX application, all associated files, and my Satimage scripting additions, rebooted, then reinstalled Satimage OSAX application.

With SIP enabled, Satimage and XMLLib scripts both resulted in error -1,708:

With SIP disabled, the Satimage script ran fine, but the XMLLib script resulted in a -43 error:

Both of these scripts run fine without SatimageOSAX, using only the scripting additions, with SIP disabled. I’m open to suggestions.

BTW, I tried to email Satimage a few days ago to ask if they might convert their osaxen to background apps, but my email bounced. I’m very pleased to see SatimageOSAX, even though it’s not working for me yet.


(Nigel Heinsius) #7

Thanks for this app!! I will certainly give it a try. I too tried to replace Satimage functionality with Foundation scripting, but it has been a rough road so far. I will also check out the scripting libraries you mention here. I have not looked at those yet. I really appreciate your efforts Mark.


(Shane Stanley) #8

Try removing all the Satimage stuff from the Finder tell block – calls to scripting additions shouldn’t be within tell blocks anyway.


(Mark Alldritt) #9

I think I’ve sorted out the problem. There were some code signing issues that prevented the scripting additions from loading correctly. Please download the latest version (1.0.1) and try again.


(Bill Earl) #10

Thanks, Mark. SatimageOSAX 1.0.1 solves the error -1,708 issue with Satimage and XMLLib osaxen with SIP enabled.

However I’m now getting the -43 error with XMLLib osax with SIP enabled, so that one remains to be solved. I tried Shane Stanley’s suggestion to take scripting additions out of tell blocks, and your suggestion to use a tell block for SatimageOSAX, but still get the -43 error with XMLLib.


(Mark Alldritt) #11

I’m not a XMLLib user so you’ll have to give me a simple example that illustrates this error you are experiencing.


(Bill Earl) #14

While preparing a simple XMLLib example, I did more testing and found the -43 error is related to using PlistOpen to access a plist file in the ~/Library/Safari/ folder with SIP enabled.

As Shane Stanley clearly describes in this article, under Permission to Poke Around, the fix is to grant Full Disk Access to Script Debugger. This works.

So I’m now a happy camper with SatimageOSAX in Mojave with SIP enabled. Thanks again, Mark and Shane.


(Håvard Graudo) #15

Thanks a million for this! Satimage is a must have. And so is XMLlib. Much appreciated


Documentation Links