NSFileManager createDirectoryAtPath 方法 returns true 但没有创建目录
NSFileManager createDirectoryAtPath method returns true but no directory was created
在我的应用程序中,我想创建一个目录并在其中放置一些 txt 文件。这是我创建目录的代码
-(BOOL)createFolderInDocuments:(NSString *)folderName
{
NSError *error = nil;
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *dataPath = [documentsDirectory stringByAppendingPathComponent:folderName];
BOOL success = YES;
if (![[NSFileManager defaultManager] fileExistsAtPath:dataPath])
success = [[NSFileManager defaultManager] createDirectoryAtPath:dataPath withIntermediateDirectories:NO attributes:nil error:&error];
if(error){
UIAlertController * alert = [UIAlertController
alertControllerWithTitle:@"Error"
message:[NSString stringWithFormat:@"Create folder: %@", error]
preferredStyle:UIAlertControllerStyleAlert];
UIAlertAction* okButton = [UIAlertAction actionWithTitle:@"OK" style:UIAlertActionStyleDefault handler:^(UIAlertAction * action){}];
[alert addAction:okButton];
[self presentViewController:alert animated:YES completion:nil];
}
if (success) {
NSLog(@"Created folder with name %@", folderName);
}
return success;
}
在我 运行 方法之后,我在控制台中收到此消息
2021-11-01 15:16:23.786293+0800 my-app[887:167944] Created folder with name 2021-11-01T15-16-23
这意味着方法 createDirectoryAtPath
返回 true
。
根据我使用此存储库 https://github.com/Varvrar/ios_logger 的经验,在我 运行 方法之后,我应该在 Finder 位置获得一个包含我的应用程序名称的文件夹,如下所示。
但是我这里什么都没有。实际上,我在 iPhone 上的任何地方都找不到该目录。所以我猜它根本就没有被创造出来。
谁能告诉我如何正确创建目录?谢谢!
好的,我明白了。该目录确实已创建,只是在 iPhone 连接到 Mac 时未在 Finder 中显示。
为了使其显示在 Finder 中,请在 xcode 项目中添加此权利 info.plist
在我的应用程序中,我想创建一个目录并在其中放置一些 txt 文件。这是我创建目录的代码
-(BOOL)createFolderInDocuments:(NSString *)folderName
{
NSError *error = nil;
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *dataPath = [documentsDirectory stringByAppendingPathComponent:folderName];
BOOL success = YES;
if (![[NSFileManager defaultManager] fileExistsAtPath:dataPath])
success = [[NSFileManager defaultManager] createDirectoryAtPath:dataPath withIntermediateDirectories:NO attributes:nil error:&error];
if(error){
UIAlertController * alert = [UIAlertController
alertControllerWithTitle:@"Error"
message:[NSString stringWithFormat:@"Create folder: %@", error]
preferredStyle:UIAlertControllerStyleAlert];
UIAlertAction* okButton = [UIAlertAction actionWithTitle:@"OK" style:UIAlertActionStyleDefault handler:^(UIAlertAction * action){}];
[alert addAction:okButton];
[self presentViewController:alert animated:YES completion:nil];
}
if (success) {
NSLog(@"Created folder with name %@", folderName);
}
return success;
}
在我 运行 方法之后,我在控制台中收到此消息
2021-11-01 15:16:23.786293+0800 my-app[887:167944] Created folder with name 2021-11-01T15-16-23
这意味着方法 createDirectoryAtPath
返回 true
。
根据我使用此存储库 https://github.com/Varvrar/ios_logger 的经验,在我 运行 方法之后,我应该在 Finder 位置获得一个包含我的应用程序名称的文件夹,如下所示。
但是我这里什么都没有。实际上,我在 iPhone 上的任何地方都找不到该目录。所以我猜它根本就没有被创造出来。
谁能告诉我如何正确创建目录?谢谢!
好的,我明白了。该目录确实已创建,只是在 iPhone 连接到 Mac 时未在 Finder 中显示。
为了使其显示在 Finder 中,请在 xcode 项目中添加此权利 info.plist