1

我正在尝试设置UIDocumentPickerViewController为仅允许选择具有动态 UTI 的 .sqlite 扩展名的文件。我不想将其定义为我的应用程序的文档类型,因为我无法处理任何 sqlite 文件,我只想启用备份和使用 iCloud 驱动器传输。

NSString *typeForExt = (__bridge NSString *)UTTypeCreatePreferredIdentifierForTag(kUTTagClassFilenameExtension, CFSTR("sqlite"), kUTTypeItem);

UIDocumentPickerViewController *iCloudPicker = [[UIDocumentPickerViewController alloc] initWithDocumentTypes:@[typeForExt] inMode:UIDocumentPickerModeImport];

UIDocumentPickerViewController如果我将类型定义为通用 public.item 将允许选择 sqlite 文件,但是每个文件都是一个选项。

4

1 回答 1

2

正确的解决方案是在 Info.plist 的“导入的 UTI”部分中定义 sqlite UTI。这并不声明您的应用程序可以使用 sqlite 文件。它只是声明了UTI。

在 Xcode 中,选择您的目标。选择信息选项卡。转到 Imported UTIs 部分并添加 sqlite 的定义。

于 2016-05-09T23:00:07.887 回答