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.
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:

If you use hardened runtime, which you need for notarization, you may need the entitlement for Apple Events, too:

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.

Some examples using this class:

Blog Entries

Xojo Developer Magazine

Release notes

  • Version 18.4

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

NSAppleEventManagerSuspensionIDMBS   -   NSApplicationDelegateMBS

The biggest plugin in space...