クラウド ドキュメントを保存する機能を提供するアプリを開発しています。このアプリには、新しい を使用して他のアプリからデータをインポートするオプションがありますUIDocumentPickerViewController
。すべて正常に動作し、ピッカー ビュー コントローラーを表示できます。これは、ファイルをインポートするために使用しているコードです。
- (void)documentPicker:(UIDocumentPickerViewController *)controller didPickDocumentAtURL:(NSURL *)url {
if (controller.documentPickerMode == UIDocumentPickerModeImport) {
dispatch_async(dispatch_get_main_queue(), ^{
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0]; // Get documents folder
NSString* path=[NSString stringWithFormat:@"%@/MyHandyTap/%@/%@",documentsDirectory,self.cartella,[url lastPathComponent]];
BOOL startAccessingWorked = [url startAccessingSecurityScopedResource];
NSURL *ubiquityURL = [[NSFileManager defaultManager] URLForUbiquityContainerIdentifier:nil];
__block NSData *data;
NSFileCoordinator *fileCoordinator = [[NSFileCoordinator alloc] init];
NSError *error;
[fileCoordinator coordinateReadingItemAtURL:url options:0 error:&error byAccessor:^(NSURL *newURL) {
data = [NSData dataWithContentsOfURL:newURL];
[data writeToFile:path atomically:YES];
}];
[url stopAccessingSecurityScopedResource];
}
}
このコードを使用すると、さまざまなファイル形式 (.pdf、.txt、.rtf、.doc など) をインポートできますが、iCloud からファイル .pages または .numbers ファイルをインポートしようとすると、呼び出しが[NSData dataWithContentsOfURL:newURL]
返されますnull
。
ユーザーがこれらの種類のファイルをインポートできるようにすることは可能ですか?
https://developer.apple.com/library/prerelease/ios/documentation/General/Conceptual/ExtensibilityPG/FileProvider.html#//apple_ref/doc/uid/TP40014214-CH18-SW2 および_ここにリストされている例をダウンロードしました: https ://developer.apple.com/devcenter/download.action?path=/wwdc_2014/wwdc_2014_sample_code/newboxanintroductiontoiclouddocumentenhancementsinios8.0.zip しかし、これを解決する方法を理解することはできません問題。
よろしくお願いいたします。
アンドレア