Run AppleScript from Cocoa Application

Solved!

Xcode wasn’t saving my script file into app’s resources path. To run an AppleScript code from Cocoa Application, use this:

NSString *path = [[NSBundle mainBundle] pathForResource:@"ScriptName" ofType:@"scpt"];
NSURL *url = [NSURL fileURLWithPath:path];NSDictionary *errors = [NSDictionary dictionary];
NSAppleScript *appleScript = [[NSAppleScript alloc] initWithContentsOfURL:url error:&errors];
[appleScript executeAndReturnError:nil];

Swift 5.6.1:

import AppleScriptObjC
import Cocoa

let path = Bundle.main.path(forResource: "ScriptName", ofType: "scpt")
let url = URL(fileURLWithPath: path ?? "")
var errors: [AnyHashable : Any] = [:]
let appleScript = NSAppleScript(contentsOf: url, error: &errors)
appleScript?.executeAndReturnError(nil)

Leave a Comment