我正在尝试将UIDocumentPickerViewController
设置为只允许选择扩展名为.sqlite、具有动态UTI的文件。我不想将其定义为我的应用程序的文档类型,因为我无法处理任何sqlite文件,我只想启用iCloud驱动器的备份和传输。
NSString *typeForExt = (__bridge NSString *)UTTypeCreatePreferredIdentifierForTag(kUTTagClassFilenameExtension, CFSTR("sqlite"), kUTTypeItem);
UIDocumentPickerViewController *iCloudPicker = [[UIDocumentPickerViewController alloc] initWithDocumentTypes:@[typeForExt] inMode:UIDocumentPickerModeImport];
如果我将类型定义为通用public.item,那么UIDocumentPickerViewController
将允许选择sqlite文件,但每个文件都是一个选项。
正确的解决方案是在Info.plist的"导入的UTI"部分定义sqlite UTI。这并不意味着你的应用程序可以使用sqlite文件。它只是宣布UTI。
在Xcode中,选择您的目标。选择"信息"选项卡。向下转到"导入的UTI"部分,然后添加sqlite的定义。