从Mac应用程序返回代码

dar*_*lon 5 macos bundle return-value

我正在尝试创建一个Mac应用程序,在某些情况下应该返回错误代码.这是一个英特尔捆绑.(这是一个Carbon C++项目,但这可能无关紧要.)

在C++中执行它的标准方法是让main函数返回值,这就是我所做的,所以我认为这部分是正确的.(我也试着明确地打电话exit(42))

问题是:我如何获得这个值?

当我从终端启动应用程序时open myapp,返回值始终为0,即使我总是返回不同的数字.(选中使用echo $?)

这是open命令的返回值,是我的应用程序的返回值被吞噬了吗?

0如果我从另一个程序启动它execve(我指定使用该应用程序的方式),我也总是得到一个返回代码.

是否可以从应用程序中检索返回代码?

旁注:我需要将程序捆绑在一起.

Pau*_*l R 2

我认为您可能需要直接执行应用程序二进制文件,即像这样深入到捆绑包中:

$ /Applications/Address\ Book.app/Contents/MacOS/Address\ Book