sud*_*ud0 2 cocoa nsfilemanager
我试图NSFileManager copyItemAtURL:toURL:error:将UNIX可执行文件(命令行程序)从一个目录移动到另一个目录,但我总是收到一个错误,指出URL类型不受支持.我假设这是因为没有文件扩展名它被视为目录但我不确定.是否可以移动此类文件NSFileManager?
编辑:这是我的代码
#define SAVE_DIR [@"~/Library/Prog" stringByExpandingTildeInPath]
#define PROG_PATH [SAVE_DIR stringByAppendingString:@"/ProgCom"]
#define RESOURCES [[NSBundle mainBundle] resourcePath]
#define LOCAL_PROG [RESOURCES stringByAppendingString:@"/ProgCom"]
-(void)moveProg
{
NSError *error = nil;
NSURL *fromURL = [NSURL URLWithString:LOCAL_PROG];
NSURL *toURL = [NSURL URLWithString:PROG_PATH];
NSLog(@"%@", [fromURL path]);
NSLog(@"%@", [toURL path]);
if ([fMan fileExistsAtPath:[fromURL path]]) {
[fMan copyItemAtURL:fromURL
toURL:toURL
error:&error];
if (error)
[NSApp presentError:error];
}
}
Run Code Online (Sandbox Code Playgroud)
我收到的错误:
The file couldn't be opened because the specified URL type isn't supported.
最后记录了什么:
fromURL = /Users/Nick/Library/Developer/Xcode/DerivedData/Prog-dpnblqaraeuecyadjgizbinfrtcm/Build/Products/Debug/Prog.app/Contents/Resources/ProgCom
toURL = /Users/Nick/Library/Prog/ProgCom
Run Code Online (Sandbox Code Playgroud)
Lil*_*ard 19
问题是你正在使用+[NSURL URLWithString:].这产生了一个无效的URL,因为你实际上并没有给它一个.你想要的是+[NSURL fileURLWithPath:],它会产生一个file:///Users/Nick/...URL.
| 归档时间: |
|
| 查看次数: |
1511 次 |
| 最近记录: |