我正在尝试获取当前目录,但是它给了我DEBUG文件夹的路径,我如何获取当前目录的路径。我使用以下代码。
NSFileManager *filemgr;
NSString *currentpath;
filemgr = [[NSFileManager alloc] init];
currentpath = [filemgr currentDirectoryPath];
答案 0 :(得分:25)
currentDirectoryPath
返回程序的当前工作目录。如果在调试模式下从Xcode启动它,程序的当前目录是Debug目录。
答案 1 :(得分:0)
在此基础上进一步发展。当前工作目录和启动目录可能不同!以这个示例为例,该应用程序是从主目录(~
)启动的。
Library/Developer/Xcode/DerivedData/MyApp-ehwczslxjxsxiob/Build/Products/Debug/MyApp.app/Contents/MacOS/MyApp -param value
NSString *p1 = [[NSFileManager defaultManager] currentDirectoryPath];
// p1 = ~/Library/Containers/com.MyApp.beta/Data
NSString *p2 = [[NSProcessInfo processInfo] environment][@"PWD"];
// p2 = ~
根据情况,您可能需要其中一个。就我而言,我想提供一个CLI,该CLI的路径参数可能相对于Shell中的当前工作目录。