我正在創建一個小程序,它將幫助自動化虛擬環境的初始化並啓動Django服務器。我想與其他人分享這個計劃。OS X - JavaScript for Automation - 如何創建和存儲變量以供將來使用
我正在尋找一種方法,通過使用打開的文件瀏覽器創建變量(文件夾的位置)並存儲該變量,以便用戶在將來不必輸入該變量。
如何將新信息存儲在我的程序中供將來使用?我調查了plist文件的使用,但無法在任何地方找到任何文檔。謝謝你的幫助!
我正在創建一個小程序,它將幫助自動化虛擬環境的初始化並啓動Django服務器。我想與其他人分享這個計劃。OS X - JavaScript for Automation - 如何創建和存儲變量以供將來使用
我正在尋找一種方法,通過使用打開的文件瀏覽器創建變量(文件夾的位置)並存儲該變量,以便用戶在將來不必輸入該變量。
如何將新信息存儲在我的程序中供將來使用?我調查了plist文件的使用,但無法在任何地方找到任何文檔。謝謝你的幫助!
我建議使用上面的plist,但我只是碰到這個偉大的工具運行: JSON Helper
這是一個支持腳本編程的應用程序。這些示例在AppleScript中顯示,但應易於轉換爲JXA。
JSON Helper是的試劑(或腳本化後臺應用),其 允許你做有用的東西與來自AppleScript的JSON(JavaScript對象符號) 直接。 JSON Helper沒有界面,並且在 的後臺等待AppleScripts [或JXA]要求它執行某些操作, 就像Apple自己的系統事件一樣。
JSON助手包含 數量,幫助您解析JSON到正規的AppleScript 清單和記錄,並轉換AppleScript的列表,並記錄回 有效的JSON命令。此外,JSON助手還包含一些便利命令 ,以便您可以輕鬆地與基於Web的API進行通信。
通過使用Cocoa的NSUserDefaults類,您可以在用戶的偏好中持久地存儲簡單的值。
以下腳本會要求用戶在首次運行時選擇文件夾位置,然後將所選位置存儲在用戶的默認位置。當腳本再次運行時,它會在不提示用戶的情況下返回存儲的位置。 (更改suiteName
和locationKey
值適合您的腳本。)
var currentApp = Application.currentApplication()
currentApp.includeStandardAdditions = true
var suiteName = "your.suite.name";
var locationKey = "your.prefs.key";
var $ud = $.NSUserDefaults.alloc.initWithSuiteName(suiteName);
var $location = $ud.stringForKey(locationKey);
var locationPath = $location.isNil() ? currentApp.chooseFolder() : Path($location.js);
$ud.setObjectForKey($(locationPath.toString()), locationKey);
locationPath
請注意,您還可以使用defaults
命令行工具的用戶的喜好進行交互,例如:
defaults read your.suite.name your.prefs.key
defaults delete your.suite.name your.prefs.key
我知道你正在使用JXA,但是這個AppleScript顯示瞭如何使用plist。你應該可以把它翻譯成JXA:http://stackoverflow.com/questions/35734698/build-own-applescript-numerical-error-handling/35749787#35749787 – JMichaelTX