Я начал внедрять UIDocumentPickerViewController
сегодня и наткнулся на кирпичную стену. Я получил его для импорта документов и дал мне за это NSURL
, но когда я использую документ iWork, NSData, который я использую, равен нулю. Вероятно, это потому, что документы iWork представляют собой каталоги, а не файлы, и я просмотрел некоторые другие вопросы в StackOverflow, и ни один из них, похоже, не помогает и не предлагает решения, кроме их архивирования, что кажется неправильным, учитывая, когда они сделаны. используя общий лист в соответствующем приложении 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];
Кто-нибудь еще понял, как решить эту проблему? Спасибо.