Cocoa 在基础可执行文件中查找工作文件夹吗?
我有一个控制台程序,它链接到Mac上的Foundation框架。如何找到可执行文件所在的文件夹?关于Cocoa 在基础可执行文件中查找工作文件夹吗?,cocoa,foundation,Cocoa,Foundation,我有一个控制台程序,它链接到Mac上的Foundation框架。如何找到可执行文件所在的文件夹?关于[[NSBundle mainBundle]bundlePath]关于[[NSBundle mainBundle]bundlePath]传递给main()的第一个参数(argv[0])是可执行文件本身的路径。如果您编写了上述控制台程序,您就可以得到它。传递给main()的第一个参数(argv[0])是可执行文件本身的路径。如果您编写了上述控制台程序,您可以通过这种方式获得它。即使该工具不在捆绑包中
[[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下,它总是完整的路径。我不知道我在哪里读到的,也找不到任何参考,所以我想这只是我的一个假设。很高兴知道。