我只是按照Document Picker Programming Guide
的指示尝试添加iOS的文档选择器(UIDocumentPickerViewController)我尝试使用iCloud文档提供程序导入(即在本地复制...希望最简单的情况下)一个文件(我已经测试了其他如DropBox和Google Drive,它们工作正常)。以下是我如何调出文档选择器菜单:
...
UIDocumentMenuViewController *documentPickerMenu = [[UIDocumentMenuViewController alloc]
initWithDocumentTypes:@[@"public.text", @"public.data"]
inMode:UIDocumentPickerModeImport];
documentPickerMenu.delegate = self;
[self presentViewController:documentPickerMenu animated:YES completion:nil];
...
以下是我如何调出特定于提供者的文档选择器:
- (void)documentMenu:(UIDocumentMenuViewController *)documentMenu didPickDocumentPicker:(UIDocumentPickerViewController *)documentPicker
{
documentPicker.delegate = self;
[self presentViewController:documentPicker animated:YES completion:nil];
}
这是我的委托函数,它永远不会被调用(即永远不会看到日志行,断点永远不会被命中):
- (void)documentPicker:(UIDocumentPickerViewController *)controller didPickDocumentAtURL:(NSURL *)url {
if (controller.documentPickerMode == UIDocumentPickerModeImport) {
NSLog(@"Opened %@", url.path);
}
}
我测试了它,它在iOS模拟器上运行良好。然而,当我将它加载到iOS设备(iPad)上时,文档选择器显示正常,向我显示有效的iCloud文档,但是当我选择一个时,我在控制台中看到的是:
plugin com.apple.UIKit.fileprovider.default invalidated
我的委托函数UIDocumentPickerDelegate:didPickDocumentAtURL:
函数永远不会被调用。
我相信我已经使用iCloud权利正确配置了该应用程序。
有人可以帮忙吗?