针对可可应用程序的卸载程序

AP.*_*AP. 3 macos cocoa packagemaker

我正在使用PackageMaker作为我的应用程序的安装程序(这不仅仅是一个简单的包).我想知道如何创建卸载程序,在何处安装它以及如何向用户提供启动它的方法.

在此先感谢您的帮助,

Ole*_*nko 8

在为某些MAC OS应用程序实现卸载程序时,我们想出了一个想法.正如SerpicoLugNut所说:

严重的是 - 98%的Mac应用程序不提供卸载程序,如果大多数人希望卸载该应用程序,他们只需将应用程序拖到垃圾箱

我们认为我们可以观看垃圾箱,如果我们的应用程序出现在垃圾箱中,我们可以询问用户是否要卸载它.

幸运的是,MAC OS提供了一个开箱即用的功能来实现这一点.您只需将以下.plist放入/ Library/LaunchAgent:

<?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.your.app</string>
<key>WatchPaths</key>
<array>
    <string>~/.Trash</string>
</array>
<key>ProgramArguments</key>
<array>
    <string>osascript</string>
    <string>/path/to/your/app/Check Trash.applescript</string>
</array>
<key>KeepAlive</key>
<false/>
Run Code Online (Sandbox Code Playgroud)

在此示例中,Check Trash.applescript一旦修改了用户的"废纸篓" ,就会运行a .此脚本应检查您的应用程序是否在废纸篓中,并询问用户是否要继续卸载.当然,这可以是任意脚本,甚至是二进制可执行文件,而不仅仅是一个AppleScript.有关更多信息,请查看launchd.plist手册页