我刚从 xcode 中的 applescript 开始,目前有一个应用程序要求文件夹位置,然后创建一个文件夹结构。
on buttonClick_(sender)
set theLocation to choose folder with prompt "Where to save your project?"
tell application "Finder"
set newFolder to make new folder at theLocation with properties {name:(theTextField's stringValue() as string)}
set fontsFolder to make new folder at newFolder with properties {name:"fonts"}
set jpgFolder to make new folder at newFolder with properties {name:"jpg-pdf"}
set mainFolder to make new folder at newFolder with properties {name:"main"}
set printFolder to make new folder at mainFolder with properties {name:"• for printer"}
set refverFolder to make new folder at newFolder with properties {name:"ref_ver"}
set supportFolder to make new folder at newFolder with properties {name:"support"}
end tell
quit
end buttonClick_
现在我试图让应用程序获取“theLocation”文件夹别名并保存它,因此下次应用程序启动时它会自动选择该文件夹作为保存位置,而无需添加它。我了解其中的逻辑,但我不知道如何存储/读取信息。我已经尝试过关于写入 info.plist 的教程,但它们都没有奏效。我是否缺少有关applescript如何工作的基本信息?
谢谢
** 编辑
script New_ProjectAppDelegate
property parent : class "NSObject"
property theTextField : missing value
property theLocation : ""
on applicationWillFinishLaunching_(aNotification)
tell standardUserDefaults() of current application's NSUserDefaults
registerDefaults_({theLocation:theLocation}) -- register the starting user default key:value items
set theLocation to objectForKey_("theLocation") as text -- read any previously saved items (which will update the values)
end tell
end applicationWillFinishLaunching_
on buttonClick_(sender)
if theLocation is "" then
set theLocation to choose folder with prompt "Where to save your project?"
tell standardUserDefaults() of current application's NSUserDefaults
setObject_forKey_(theLocation, "theLocation") -- update the default items
end tell
else
set theLocation to theLocation as text
--display dialog theLocation as text
end if
tell application "Finder"
set newFolder to make new folder at theLocation with properties {name:(theTextField's stringValue() as string)}
set fontsFolder to make new folder at newFolder with properties {name:"fonts"}
set jpgFolder to make new folder at newFolder with properties {name:"jpg-pdf"}
set mainFolder to make new folder at newFolder with properties {name:"main"}
set printFolder to make new folder at mainFolder with properties {name:"• for printer"}
set refverFolder to make new folder at newFolder with properties {name:"ref_ver"}
set supportFolder to make new folder at newFolder with properties {name:"support"}
end tell
quit
end buttonClick_
on applicationShouldTerminate_(sender)
tell standardUserDefaults() of current application's NSUserDefaults
setObject_forKey_(theLocation, "theLocation") -- update the default items
end tell
return current application's NSTerminateNow
end applicationShouldTerminate_
结束脚本