Tag: nsfilemanager

使用NSFileManager更新复制文件中的进度条

我复制文件,然后我的应用程序完成启动从资源caching目录。 但是我想在复制文件时更新我的​​进度条。 我用下面的代码复制文件: -(BOOL)copyDirectory:(NSString*)source toDirectory:(NSString*)targat { BOOL retVal = YES; NSFileManager *fileManager = [[NSFileManager alloc] init]; NSError *error; if ([fileManager fileExistsAtPath:targat] == YES) { NSError *error = nil; [fileManager removeItemAtPath:targat error:&error]; } if(![fileManager copyItemAtPath:source toPath:targat error:&error]) { NSLog(@"Error copy files: %@", [error description]); retVal = NO; } [fileManager release]; return retVal; } 我想不出一个好主意,如何更新进度条根据复制文件的进度。

如何将多个项目添加或导入到使用Swift保存在Documents Directory中的文件?

正如你所看到的,这里是如何添加一个单词“hello”到Test.txt (保存在一个应用程序的Documents Directory中): let documentsDirectory = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask).first! let archiveURL = documentsDirectory.appendingPathComponent("Test").appendingPathExtension("txt") try! Data("hello".utf8).write(to: archiveURL) 假设我有一个txt或csv文件(有300个名字保存在iCloud Drive或者某个地方,一行一行保存):Picture1)。 如何将这些名称添加到Test.txt文件(保存在应用程序的Documents Directory中)一次,只是以下gif显示(图2)。 任何build议,将不胜感激。

FileManager表示文件不存在

我有一个用例,需要将UIImage保存到文档目录 – 然后UIImage需要被转换成PDF并保存到文档目录。 代码转换为PDF var filePath = NSString(string: self.selectedMedia!.imagePath!) if FileManager().fileExists(atPath: filePath as String) { filePath = filePath.deletingPathExtension as NSString filePath = NSString(string: filePath.appendingPathExtension("PDF")!) if let image = UIImage(data: self.selectedMedia?.image! as! Data) { let rect:CGRect = CGRect(x: 0, y: 0, width: image.size.width, height: image.size.height) UIGraphicsBeginPDFContextToFile(filePath as String, rect, nil); UIGraphicsBeginPDFPageWithInfo(rect, nil); UIGraphicsGetCurrentContext(); image.draw(in: rect) UIGraphicsEndPDFContext(); […]

containerURLForSecurityApplicationGroupIdentifier获取零值

我正在制作两个iPad应用程序与一个文件进行通信,并从一个文件中提取所有数据。 我search并find这个“containerURLForSecurityApplicationGroupIdentifier”我们可以创build组和存储在那。 我已经写下面的代码。 在权利文件我写 <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>com.apple.security.app-sandbox</key> <true/> <key>com.apple.security.application-groups</key> <array> <string>$(TeamIdentifierPrefix)com.xxx.catalogapp.Coredata</string> </array> <key>keychain-access-groups</key> <array> <string>$(AppIdentifierPrefix)com.xxx.catalogapp.Coredata</string> </array> </dict> </plist> 而在代码我写这个 NSFileManager* fileManager = [NSFileManager defaultManager]; NSURL* storeUrl = [fileManager containerURLForSecurityApplicationGroupIdentifier:@"com.xxx.catalogapp.Coredata"]; NSLog(@"%@", storeUrl); 但是storeUrl我nil价值。

在越狱的iPhone上写文件到“/ var / mydir / files”时为什么会出现“Cocoa error 513”?

我的应用程序将一些文件写入文件系统,它被安装在/应用程序中而不是在/ var / mobile / Application中,在我开发的iPhone上,每一件事情都是正确的。但是当分发给别人时,他们得到了“Cocoa error 513”。文件写在/ var / mydir / files,那是什么问题? 哪里是我完全许可的地方? 谢谢。 码: NSString *dir = @"/var/mydir/docs/"; NSFileManager *fileManager = [NSFileManager defaultManager]; if(![fileManager fileExistsAtPath:dir]) { NSError *error = nil; BOOL createdDir = [fileManager createDirectoryAtPath:dir withIntermediateDirectories:YES attributes:nil error:&error]; if (!createdDir) { UIAlertView *errorAlertView = [[UIAlertView alloc] initWithTitle:@"Attention" message:[error localizedDescription] delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil]; [errorAlertView […]

我的应用程序应该在iOS上存储大量的PDF文件?

我正在编写一个iOS iPad应用程序,它将从网上下载数百个大型PDF文件,并将它们caching在iPad上供离线使用。 在iPad上存储它们的最佳位置在哪里? 本地文件系统,核心数据还是其他地方? 我打算使用核心数据build立索引和search机制(使用缩略图等),并且只有在用户明确要求完整文档时才会访问PDF文档。

iOS:如何从文档目录中删除具有特定扩展名的所有现有文件?

当我更新我的iOS应用程序时,我想删除Documents目录中的任何现有的sqlite数据库。 现在,在应用程序更新上,我将数据库中的数据库复制到文档目录,并通过附加软件包版本进行命名。 所以,在更新上,我也想删除任何可能存在的旧版本。 我只想要能够删除所有的sqlite文件,而不必循环查找以前的版本。 有没有办法通配removeFileAtPath:方法?

NSURL isFileURL总是返回NO

有人可以向我解释为什么下面的代码: NSString* filePathString = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES)[0]; NSLog(@"%i", [[NSURL URLWithString:filePathString] isFileURL]); NSLog(@"%@", filePathString); 输出: 0 “在/ var /移动/应用/ 28ADFC19-874C-4304-94B5-F6441CAE9FAD /文档” 这意味着这个URL不是一个文件的URL。 显然是这样。 背景: 我正在尝试使用AVCaptureMovieFileOutput将影片录制到文件中,但是我certificate的文件url给出了错误: *由于未捕获exception'NSInvalidArgumentException',原因:'* – [AVCaptureMovieFileOutput startRecordingToOutputFileURL:recordingDelegate:] – 无法logging到URL / var / mobile / Applications / 28ADFC19-874C-4304-94B5-F6441CAE9FAD / Documents / media / CrKNjNhe9so2LRnD9iHK .mov,因为它不是一个文件的URL。 就像原来的例子,这看起来像一个文件的URL。 是什么赋予了?

iOS – 获取目录中文件大小的总和

我用下面的代码来caching照片,我装载Flickr在设备的内存中: NSURL *urlForPhoto = [FlickrFetcher urlForPhoto:self.photo format:FlickrPhotoFormatLarge]; NSString *rootPath = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0]; NSString *imagePath = [rootPath stringByAppendingString:[self.photo objectForKey:FLICKR_PHOTO_ID]]; NSData *dataForPhoto; NSError *error = nil; if ([[NSFileManager defaultManager] fileExistsAtPath:imagePath]) { dataForPhoto = [NSData dataWithContentsOfFile:imagePath]; } else { dataForPhoto = [NSData dataWithContentsOfURL:urlForPhoto]; [dataForPhoto writeToFile:imagePath atomically:YES]; } 我想限制到10MB,然后如果达到删除caching中最老的照片的限制,我怎样才能得到我保存的所有文件的总大小,并检查哪一个是最古老的?

如何在复制时使用覆盖文件夹?

使用下面的行, [fileManager copyItemAtPath:sourcePath toPath:targetPath error:&error]; 我们可以复制一个文件夹,但如果该文件夹已经存在,则会抛出一个“File Exists”exception。 为了覆盖单个文件,我们可以通过以下几行来实现: NSData *myData = [NSData dataWithContentsOfURL:FileURL]; /fetch single file [myData writeToFile:targetPath atomically:YES]; 但我想复制一个已经存在的文件夹,即覆盖 。 编辑 :简单的可能性,我可以在复制它们之前删除项目。 请提出更多的可能性。