cocoa app:检查是否安装了某些程序

时间:2013-09-24 10:50:37

标签: macos cocoa

我正在为mac创建一个应用程序,该应用程序需要在mac上安装两个程序才能正常运行,所以我需要一些方法来检查程序是否已安装。 这些是:

  • system_timer
  • 深圳

我已经将它们安装在我的Mac上:

sudo gem install system_timer
sudo gem install shenzhen

在终端。

该应用程序将在内部分发,我不能要求每个人在他们的计算机上安装这两个程序,因此如果没有安装,我需要我的应用程序自动执行此操作。

我将如何做到这一点?

非常感谢任何帮助。

2 个答案:

答案 0 :(得分:1)

您可以使用popen运行shell命令which system_timerwhich shenzhen,然后检查结果。

答案 1 :(得分:0)

在理想的世界中,您可能希望找到一种方法来在应用程序包中打包必要的资源,而不是要求您的用户授予您的应用程序root权限,以使gem程序包管理器在全局安装程序包。遗憾的是,system_timer具有本机构建要求,shenzhen有一堆依赖项,所以这可能不是那么容易。

假设您只想做sudo gem install ...的等效操作,我建议使用类似代码here的提升权限执行gem(请务必查看README文件 - - 这不是一个单行的)用root权限调用它。这将使用当前推荐的权限提升API,并向用户显示正常的对话框以输入其密码。