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