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ツールを配置した場所に応じて、NSFundleを使用するpathForAuxiliaryExecutable:pathForResource:ofType:、実行可能ファイルを見つけることができます。

たとえば、UnixツールがアプリケーションバンドルのResourcesフォルダーにある場合、次のように実行できます。

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