我在沙河路径下遇到的坑

开发中有时会遇到,需要往本地沙河路径下写入一些文件或者创建文件夹缓存一些pdf或者word等

  • 也许你会遇到这样的问题,明明在模拟器下运行没有任何问题,但是到了真机上却出现了bug,比如我们需要创建的文件夹失败等.
    • 下面的代码就是模拟器运行正常,但是真机却创建失败的代码
NSFileManager *fileManager = [NSFileManager defaultManager];
    NSString *directoryPath = [NSHomeDirectory() stringByAppendingPathComponent:@"FileTemp"];
    NSError *error = nil;
    if ([fileManager createDirectoryAtPath:directoryPath withIntermediateDirectories:YES attributes:nil error:&error] != YES) {
        //创建失败
        [fileManager createDirectoryAtPath:directoryPath withIntermediateDirectories:YES attributes:nil error:&error];
    }else {
        //创建成功
    }
  • 解决该问题的正确写法如下
NSString *pathDocuments = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES)objectAtIndex:0];
NSString *KPath = [NSString stringWithFormat:@"%@/FileTemp",pathDocuments];
NSFileManager *fileManager = [[NSFileManager alloc]init];
    if (![[NSFileManager defaultManager]fileExistsAtPath:KPath]) {
        
        [fileManager createDirectoryAtPath:KPath withIntermediateDirectories:YES attributes:nil error:nil];
        
    }else{
        NSLog(@"有这个文件了");
    }

ps:如有不足和更高的见解欢迎评论或私信

你可能感兴趣的:(我在沙河路径下遇到的坑)