为什么NSFileManager无法正常工作?

ica*_*ant 0 cocoa nsfilemanager

我编写了一些代码来将文件(dbtemplate.sqlite)从应用程序包复制到库中.但是,库中不会显示任何文件,每次启动应用程序时都会记录复制模板的文本.控制台中没有显示错误.我究竟做错了什么?

NSFileManager *fileManager = [NSFileManager defaultManager];

if (![fileManager fileExistsAtPath:@"~/Library/AppSafe/database/db.sqlite"]) {

    [fileManager createDirectoryAtPath:@"~/Library/AppSafe/database" withIntermediateDirectories:YES attributes:nil error:nil];

    [fileManager copyItemAtPath:@"dbtemplate.sqlite" toPath:@"~/Library/AppSafe/database/db.sqlite" error:nil];
    NSLog(@"copied template");

}
Run Code Online (Sandbox Code Playgroud)

Dav*_*ong 8

如果我没记错的话,你必须将完整的路径传递给NSFileManager方法,并且使用波浪号前缀路径将不起作用.

所以不要使用@"~/Library/...",请使用:

[@"~/Library/..." stringByExpandingTildeInPath]
Run Code Online (Sandbox Code Playgroud)