2017-04-17 2 views
0

Je voudrais savoir si vous pouvez utiliser osascript dans swift/xcode lors de la conception d'une application Mac (Sierra). J'ai donc simplement construit une application vide en utilisant Xcode et swift.Swift + Xcode: utiliser osascript dans Mac App

Je voudrais maintenant utiliser osascript pour lancer une autre application en utilisant osascript (préféré). J'ai donc lié mon bouton au fichier ViewController.swift.

@IBAction func launchApp(_ sender: NSButton) { 
    let path = "/usr/bin/env" 
    let arguments = ["osascript -e 'tell app \"iTunes\" to activate'"] 
    let task = Process.launchedProcess(launchPath: path, arguments: arguments) 
    task.waitUntilExit() 
} 

Mais je reçois cette erreur:

env: osascript -e 'tell app "iTunes" to activate': No such file or directory 

J'ai aussi essayé d'utiliser comme chemin/usr/bin/bash et osascript.

Quelques conseils sur ce serait génial! Merci :)

Répondre

1

Ne pas utiliser OSAScript au niveau de cacao, utilisez NSAppleScript

let script = NSAppleScript(source: "activate application \"iTunes\"")! 
var errorDict : NSDictionary? 
script.executeAndReturnError(&errorDict) 
if errorDict != nil { print(errorDict!) } 

Si l'application est sandbox, vous devez ajouter les droits appropriés.

+0

Merci Vadian. Cela a bien fonctionné pour moi :) – enigma