0

我有一个使用外部 unix 可执行文件编写的应用程序。它需要运行此文件以获取进一步处理所需的一些数据。

现在这个可执行文件位于我的项目文件夹中,为了在我的应用程序中使用它,我已经硬编码了它的路径(这很糟糕)。

我听说要避免这种硬编码路径问题,可以使用捆绑包。

任何人都可以向我解释这是否是实现我想要的最佳方式,并指导我如何做到这一点?!

我已经查看了关于 stackoverflow 的类似问题并通过了这个: https ://developer.apple.com/library/mac/#documentation/CoreFoundation/Conceptual/CFBundles/Introduction/Introduction.html#//apple_ref/doc/uid/ 10000123i

到目前为止它并没有真正帮助我......

4

1 回答 1

1

您使用 NSBundle 对象来定位您的可执行文件。您首先使用[NSBundle mainBundle]. 根据您放置 Unix 工具的位置,您可以使用 NSFundlepathForAuxiliaryExecutable:pathForResource:ofType:找到可执行文件。

例如,如果您的 Unix 工具位于应用程序包的 Resources 文件夹中,您可以执行以下操作:

 NSString* toolPath = [[NSBundle mainBunble] pathForResource:@"toolname" ofType:nil]
于 2013-02-28T19:24:44.923 回答