2014-02-15 32 views
1

我想运行一个脚本,当我的应用程序移动到垃圾文件夹中,并且我知道使用启动代理它可能,我google搜索并制作了plist但它不工作或不工作调用脚本..检测Mac应用程序使用启动代理移动到垃圾文件夹

<?xml version="1.0" encoding="UTF-8"?> 
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> 
<plist version="1.0"> 
<dict> 
    <key>Label</key> 
    <string>com.meet.anywhere</string> 
    <key>WatchPaths</key> 
    <array> 
     <string>~/.Trash</string> 
    </array> 
    <key>ProgramArguments</key> 
    <array> 
     <string>/Users/eclit/Desktop/DeleteScript.scpt</string> 
    </array> 
    <key>KeepAlive</key> 
    <false/> 
</dict> 
</plist> 

回答

2

launchd不能直接运行applescript。您需要使用命令行工具osascript来运行applescript。因此,您的ProgramArguments部分应如下所示。另外,不需要KeepAlive部分。它什么都不做,所以我会删除它。

<key>ProgramArguments</key> 
<array> 
    <string>osascript</string> 
    <string>/Users/eclit/Desktop/DeleteScript.scpt</string> 
</array> 
+0

非常感谢你的帮助! – Retro

+0

osascript正在请求权限,这可能在获得许可之前? – Retro

+0

我现在看到一个问题,即任何东西移动到垃圾箱时,我的脚本都会被调用,如何才能使它具体到何时只有我的应用程序进入垃圾箱? – Retro

0
<?xml version="1.0" encoding="UTF-8"?> 
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> 
<plist version="1.0"> 
<dict> 
    <key>Label</key> 
    <string>com.meet.anywhere</string> 
    <key>WatchPaths</key> 
    <array> 
     <string>~/.Trash/AppName.app</string> 
    </array> 
    <key>ProgramArguments</key> 
    <array> 
    <string>osascript</st 
     <string>/Users/eclit/Desktop/DeleteScript.scpt</string> 
    </array> 
    <key>KeepAlive</key> 
    <false/> 
</dict> 
</plist> 
相关问题