我有一个标准.app格式的Mac OS X应用程序,并且想知道在主程序执行之前执行小脚本的最简单方法是什么。这可能吗?
修改
我只想运行一次脚本,所以如果我可以在运行后设置一个标志或者什么东西就会很棒!
第二次修改:
我没有XCode项目所以我无法重新编译任何东西,这就是我正在寻找另一种方法的原因。
答案 0 :(得分:3)
两种可能性:
如果您有权访问Xcode项目,可以将脚本放在应用程序的资源中,使用以下命令获取其路径名:
[[NSBundle mainBundle] pathForResource:@"preamble" ofType:@"sh"]
并在system()
函数的开头通过简单的main()
调用对其进行invoque。
如果您无法访问Xcode项目,我不确定是否可以。我会尝试用你的脚本替换实际的可执行文件,并添加一种方法,用exec
命令调用脚本末尾的可执行文件。
答案 1 :(得分:0)
如果应用程序相对简单,您可以在另一个包中重新打包它。您可以编写一个简短的程序来运行该脚本,然后启动它们的可执行文件,您希望将其作为资源包含在您的软件包中。
当然,您还需要复制应用程序中的所有原始资源。
我可能会问你试图以这种方式运行哪个程序?