开发中有时会遇到,需要往本地沙河路径下写入一些文件或者创建文件夹缓存一些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:如有不足和更高的见解欢迎评论或私信😆