我的应用程序需要下载文件,但我想将所有这些文件存储到/ var / mobile / Documents中的代表中。 要创建此文件夹,我使用:
NSString *path;
path = [@"/var/mobile/Documents/" stringByAppendingPathComponent:@"myFolder"];
NSError *error;
if (![[NSFileManager defaultManager] fileExistsAtPath:path]) //Does directory already exist?
{
if (![[NSFileManager defaultManager] createDirectoryAtPath:path
withIntermediateDirectories:NO
attributes:nil
error:&error])
{
NSLog(@"Create directory error: %@", error);
}
}
但它不起作用,你能告诉我为什么吗? 感谢
答案 0 :(得分:1)
您不应该通过这种方式获取文档文件夹的路径。请改用:
NSString *dir = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) lastObject];
path = [dir stringByAppendingPathComponent:@"myFolder"];
除了/dev/null
和/dev/random
之外,您不应该对系统路径进行硬编码。 Apple可以在未来的iOS版本中随时更改它们。
/var/mobile/Documents/
是不可写的,因为如果它会干扰那些也写在那里的其他应用程序。