UIDocumentPickerViewController и документы iWork не загружаются
Я начал внедрять UIDocumentPickerViewController
сегодня и я ударил кирпичную стену. Я получил его, чтобы импортировать документы и дать мне NSURL
для этого, но когда я использую документ iWork, NSData, который я использую, является нулем. Вероятно, потому, что документы iWork - это каталоги, а не файлы, и я рассмотрел некоторые другие вопросы о Stackru, и ни один из них, похоже, не помогает или не предлагает решение, отличное от архивирования, что кажется неправильным, если учесть, когда они сделаны. с помощью общего листа в соответствующем приложении iWork все работает нормально.
Вот мой код:
NSArray* components = [[url lastPathComponent] componentsSeparatedByString:@"."];
NSData* data = [[NSData alloc] initWithContentsOfURL:url];
NSString* filename = [[[url lastPathComponent] stringByReplacingOccurrencesOfString:[components lastObject] withString:@""] stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceCharacterSet]];
NSString* newPath = [NSString stringWithFormat:@"%@/tmpFiles/%@%@",[NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0],filename,[components lastObject]];
[data writeToFile:newPath atomically:YES];
[self.files addObject:[NSURL fileURLWithPath:newPath]];
[self updateFileCount];
Кто-нибудь еще разобрался, как решить эту проблему? Благодарю.
1 ответ
Документы типа.pages или.numbers представляют собой не отдельные файлы, а пакеты. Поэтому вы не можете читать их с -dataWithContentsOfURL:.
Вы проверяли копирование с помощью -copyItemAtURL:toURL:error: (NSFileManager)?