3

假设您想使用功能或与另一个第三方应用程序交互。是否可以链接到objective-c项目中的可执行文件?二进制文件可以包装在框架内吗?

4

1 回答 1

1

您可以使用 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启动和管道辅助程序的输出回到您的主可执行文件的问题。更多信息在这里

于 2013-02-13T18:26:36.770 回答