Eseguire comandi esterni in Swift
Prima o poi doveva capitare di iniziare a combattere anche con Swift; dovendo fare un porogrammino per macOS, quale migliore occasione?
Il primo articolo di questo linguaggio lo dedico a come eseguire comandi esterni.
Mi pare di capire che ci sono vari modi per farlo; ed inoltre ho visto che molte classi sono state rinominate nelle ultime versioni di Swift (ad esempio NSTask in Process).
Noi andremo ad usare proprio Process; ecco un esempio basico:
import Cocoa
@NSApplicationMain
class AppDelegate: NSObject, NSApplicationDelegate {
@IBOutlet weak var window: NSWindow!
func applicationDidFinishLaunching(_ aNotification: Notification) {
// Insert code here to initialize your application
}
func applicationWillTerminate(_ aNotification: Notification) {
// Insert code here to tear down your application
}
@IBAction
func testProc(_ sender: Any) {
let process = Process()
process.executableURL = URL(fileURLWithPath:"/bin/ls")
process.arguments = ["-la"]
process.terminationHandler = { (process) in
print("FINTIO!")
}
do {
try process.run()
} catch {}
}
}
Io ho collegato la funzione ad un item del menu.
Enjoy!
apple macos swift process
Commentami!