Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cocoa/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Cocoa 在基础可执行文件中查找工作文件夹吗?_Cocoa_Foundation - Fatal编程技术网

Cocoa 在基础可执行文件中查找工作文件夹吗?

Cocoa 在基础可执行文件中查找工作文件夹吗?,cocoa,foundation,Cocoa,Foundation,我有一个控制台程序,它链接到Mac上的Foundation框架。如何找到可执行文件所在的文件夹?关于[[NSBundle mainBundle]bundlePath]关于[[NSBundle mainBundle]bundlePath]传递给main()的第一个参数(argv[0])是可执行文件本身的路径。如果您编写了上述控制台程序,您就可以得到它。传递给main()的第一个参数(argv[0])是可执行文件本身的路径。如果您编写了上述控制台程序,您可以通过这种方式获得它。即使该工具不在捆绑包中

我有一个控制台程序,它链接到Mac上的Foundation框架。如何找到可执行文件所在的文件夹?

关于
[[NSBundle mainBundle]bundlePath]
关于
[[NSBundle mainBundle]bundlePath]
传递给main()的第一个参数(
argv[0]
)是可执行文件本身的路径。如果您编写了上述控制台程序,您就可以得到它。

传递给main()的第一个参数(
argv[0]
)是可执行文件本身的路径。如果您编写了上述控制台程序,您可以通过这种方式获得它。

即使该工具不在捆绑包中,您仍然可以使用一些
NSBundle
方法。例如:

NSString * binaryPath = [[NSBundle mainBundle] executablePath];
NSString * executableFolder = [binaryPath stringByDeletingLastPathComponent];

即使该工具不在捆绑包中,您仍然可以使用一些
NSBundle
方法。例如:

NSString * binaryPath = [[NSBundle mainBundle] executablePath];
NSString * executableFolder = [binaryPath stringByDeletingLastPathComponent];

可执行文件不在捆绑包中。它是一个独立的mach可执行文件。可执行文件不在捆绑包中。它是一个独立的mach可执行文件。仅当您通过完整路径调用程序时。如果您将程序放在路径的某个位置(例如,通过安装),然后单独按名称运行,
argv[0]
将仅为name.Hmmm。我认为在BSD下,它总是完整的路径。我不知道我在哪里读到的,也找不到任何参考,所以我想这只是我的一个假设。很高兴知道。仅当您通过完整路径调用程序时。如果您将程序放在路径的某个位置(例如,通过安装),然后单独按名称运行,
argv[0]
将仅为name.Hmmm。我认为在BSD下,它总是完整的路径。我不知道我在哪里读到的,也找不到任何参考,所以我想这只是我的一个假设。很高兴知道。