你可以使用XCode的复制文件阶段将额外的可执行文件放在主要可执行文件中,例如在Your.app/Contents/MacOS中,然后(假设你复制了grep)使用[[NSBundle mainBundle] pathForAuxiliaryExecutable:@"grep"]来定位它。我会以稍微不同的方式实现,例如我有一个Python程序被我的一个应用程序调用(以plist格式获取响应非常好),我只是将其复制到My.app/Contents/Resources目录中,并使用[[NSBundle mainBundle] pathForResource:@"myScript" ofType:@"py"]来查找它。你选择的方式可能只是个人口味问题。我认为将编译的可执行文件与主要可执行文件放在一起是有意义的,而将Python/Perl/其他语言放在资源中。从那里,只需要设置一个NSTask来启动和管道辅助程序的输出返回到主要可执行文件中。更多信息请参考这里。
NSTask
来启动它。 - dreamlax