UIDocumentPickerExtensionViewController validTypes始终为零

目前,我正在为我的iOS应用程序创build一个“文档提供程序扩展”。 我正在使用从我的应用程序,以及从其他应用程序的扩展来访问一些应用程序的内部文件。

在内部使用时,我使用下面的代码创build一个“UIDocumentPickerViewController”:

UIDocumentPickerViewController* documentPicker = [[UIDocumentPickerViewController alloc] initWithDocumentTypes:@[@"public.image"] inMode:UIDocumentPickerModeImport]; 

扩展运行良好,但有一个例外:' validTypes '数组总是' nil ',所以我不能限制对有效文件的访问(在这个例子中:图像文件)。

我也testing了与其他应用程序(如邮件或Pixelmator)的扩展:相同的结果; 运行良好,但validTypes总是零。 当然我不知道,Mail或Pixelmator是如何初始化他们的文档选取器的。

有没有人看到我的错误? 还是有人看到了同样的问题? 并find了解决办法?

非常感谢!

也许你只是在初始化过程早期检查'validTypes'数组; 我前一阵子是这么做的

当逐步完成UIDocumentPickerExtensionViewController的初始化过程时,您将看到以下行为:

 - (void)viewDidLoad self.validTypes not set (==nil) - (void)prepareForPresentationMode:(UIDocumentPickerMode)pMode self.validTypes is set (!= nil; maybe: @[@"com.adobe.pdf"]) - (void)viewWillLoad:(BOOL)animated self.validTypes is set (!= nil; maybe: @[@"com.adobe.pdf"]) - (void)viewDidLoad: self.validTypes is set (!= nil; maybe: @[@"com.adobe.pdf"]) 

稍后尝试检查有效的types:-)