documentPicker:didPickDocumentAtURL:不调用

时间:2014-08-04 06:40:18

标签: ios8

我尝试在我的应用中使用存储提供程序扩展。所以我已经实现了UIdocumentPickerView控制器类来将文件移动到其他应用程序沙箱。我已经从主机应用程序中呈现了文档选择器控制器并选择了目标以在其他应用程序的存储提供程序扩展中移动该文件。当用户单击移动目标时,根据apple doc UIDocumentPickerDelegate方法将在主机应用程序中调用以处理其他应用程序返回的URL。

但我的情况是,委托方法documentPicker:(UIDocumentPickerViewController *)controller didPickDocumentAtURL:(NSURL *)url没有被调用。我使用的是ios8 beta4和xcode6 beta 4.是否有人有这个问题?请帮我解决这个问题。

2 个答案:

答案 0 :(得分:0)

尝试清理并重建代码。

之前我遇到过同样的问题,它是在模拟器上工作但不在实际设备上。我还实现了documentPickerWasCancelled:方法,它适用于两种情况。

我尝试了几项更改,清理项目并重建,突然它也可以在设备上运行。

希望在清理和构建项目后,它对您有用。

答案 1 :(得分:0)

是的,我有同样的问题,我通过以下代码展示文档,我试图导入图像文件。

这是无效的代码:

UIDocumentPickerViewController *documentPicker = [[UIDocumentPickerViewController alloc] initWithDocumentTypes:@[@"com.apple.iwork.pages.pages", @"com.apple.iwork.numbers.numbers", @"com.apple.iwork.keynote.key"]

在我的情况下导入图片的工作代码:

UIDocumentPickerViewController *documentPicker = [[UIDocumentPickerViewController alloc] initWithDocumentTypes:@[@"com.apple.iwork.pages.pages", @"com.apple.iwork.numbers.numbers", @"com.apple.iwork.keynote.key", @"public.image"]

我刚刚在我的案例中添加了@"public.image"并且像魅力一样工作!!

您可以根据自己的要求添加UTIs ..