XCode不包含其打包程序的卸载选项。通常,用户只需将应用程序拖到垃圾箱即可将其卸载 - 大多数应用程序都自包含在应用程序包中。
但是,我有一个内核扩展,必须使用一些简单的命令行卸载它。有一个可行的脚本,但我需要提供一个图形卸载程序。
我不认为有一个即插即用的示例代码,它提供了一种在显示进度条的同时运行脚本的方法,但是我希望有人已经处理过这个问题或者有一些指示如何快速轻松地实现这一目标
脚本只有两行没有反馈,所以我们可以在应用程序中执行命令,只要我们可以安全地轻松请求和使用root权限(即让OS X处理权限 - 我们只需要OS X将它们提供给我们,这应该让它在应用程序内部向用户询问类似于软件包安装程序的情况。
答案 0 :(得分:1)
使用xcode中的Cocoa-Applescript项目在这里运行shell脚本有一个相当不错的方法:
http://www.mactech.com/articles/mactech/Vol.22/22.08/GUI-upyourScript/index.html
它包括使用进度条,处理错误以及获取正确的root权限来运行shell脚本。
不幸的是,这里剪切和粘贴有点长,但一般步骤是:
action
框并输入myprojectname.applescript
)on clicked theObject -- setup set myPath to POSIX path of (path to me) as string -- Start progress bar set uses threaded animation of progress indicator "pMainProgress" of window "wMain" to true tell progress indicator "pMainProgress" of window "wMain" to start -- Do it! try do shell script quoted form of myPath & "Contents/Resources/backup.sh" with administrator privileges on error number 255 display dialog "Sorry, an error occurred. I can't make the copy." end try -- Stop progress bar tell progress indicator "pMainProgress" of window "wMain" to stop set uses threaded animation of progress indicator "pMainProgress" of window "wMain" to false end clicked
您可以进一步自定义应用程序(例如名称)并向窗口添加文本框,以便在用户运行多个脚本时向用户发出正在发生的步骤(在添加“脚本”后将set the contents of text field "efStatus" of window "wMain" to "Copying files..."
放入脚本中文本字段为ui,名称为“efStatus”)