Platforms to show: All Mac Windows Linux Cross-Platform

NSAppleScriptMBS class

Type Topic Plugin Version macOS Windows Linux iOS Targets
class Apple Script MBS MacCocoa Plugin 11.2 ✅ Yes ❌ No ❌ No ❌ No Desktop, Console & Web
The NSAppleScriptMBS class provides the ability to load, compile, and execute scripts.
Example
Var source as string = "tell Application ""iTunes"" to pause"
Var n as new NSAppleScriptMBS(source)
call n.execute

Your application may need the NSAppleEventsUsageDescription entry in info.plist to do any AppleScript usage:
https://developer.apple.com/documentation/bundleresources/information_property_list/nsappleeventsusagedescription

If you use hardened runtime, which you need for notarization, you may need the entitlement for Apple Events, too:
https://developer.apple.com/documentation/bundleresources/entitlements/com_apple_security_automation_apple-events

Important: You should access NSAppleScriptMBS only from the main thread.

This class provides applications with the ability to

  • load a script from a URL or from a text string
  • compile or execute a script or an individual Apple event
  • obtain an NSAppleEventDescriptorMBS containing the reply from an executed script or event
  • obtain an attributed string for a compiled script, suitable for display in a script editor
  • obtain various kinds of information about any errors that may occur
Important: NSAppleScriptMBS provides the execute method so that you can send an Apple event to invoke a handler in a script. (In an AppleScript script, a handler is the equivalent of a function.) However, you cannot use this method to send Apple events to other applications.

When you create an instance of NSAppleScriptMBS object, you can use a URL or a folderitem to specify a script that can be in either text or compiled form, or you can supply the script as a string. Should an error occur when compiling or executing the script, several of the methods return a dictionary containing error information. The keys for obtaining error information, such as NSAppleScriptErrorMessage, are described in the Constants section.

This class has no sub classes.

Blog Entries

Xojo Developer Magazine

Release notes

  • Version 18.4

Some examples using this class:

Some related classes:


The items on this page are in the following plugins: MBS MacCocoa Plugin.


NSAppleEventManagerSuspensionIDMBS   -   NSApplicationDelegateMBS


The biggest plugin in space...