今日から実装を開始しUIDocumentPickerViewController
ましたが、レンガの壁にぶつかりました。ドキュメントをインポートしてそれを提供するNSURL
ためにそれを取得しましたが、iWork ドキュメントを使用すると、使用する NSData が null になります。おそらく、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];
他の誰かがこの問題を解決する方法を見つけましたか? ありがとう。