执行Mac包时运行脚本

时间:2009-03-12 15:12:35

标签: macos

我有一个标准.app格式的Mac OS X应用程序,并且想知道在主程序执行之前执行小脚本的最简单方法是什么。这可能吗?

修改

我只想运行一次脚本,所以如果我可以在运行后设置一个标志或者什么东西就会很棒!

第二次修改:

我没有XCode项目所以我无法重新编译任何东西,这就是我正在寻找另一种方法的原因。

2 个答案:

答案 0 :(得分:3)

两种可能性:

  • 如果您有权访问Xcode项目,可以将脚本放在应用程序的资源中,使用以下命令获取其路径名:

    [[NSBundle mainBundle] pathForResource:@"preamble" ofType:@"sh"]
    

    并在system()函数的开头通过简单的main()调用对其进行invoque。

  • 如果您无法访问Xcode项目,我不确定是否可以。我会尝试用你的脚本替换实际的可执行文件,并添加一种方法,用exec命令调用脚本末尾的可执行文件。

答案 1 :(得分:0)

如果应用程序相对简单,您可以在另一个包中重新打包它。您可以编写一个简短的程序来运行该脚本,然后启动它们的可执行文件,您希望将其作为资源包含在您的软件包中。

当然,您还需要复制应用程序中的所有原始资源。

我可能会问你试图以这种方式运行哪个程序?