在将数据另存为存档的应用程序(NSKeyedArchiver)中,我允许用户导出 .archive 文件进行备份。然后,用户可以重新导入这些文件以检索备份的数据。
有没有一种方法可以限制UIDocumentPickerViewController只允许导入那些.archive文件?我尝试使用 kUTTypeArchive 作为唯一允许的类型,但它似乎与“ archive”类型不同,因此在寻找解决方案时使用了“ public.item”。
在文件上运行 mdls 命令将给出以下文件类型: dyn.ah62d4rv4ge80c6xdrby1q3k
PS:如果导出和导入.archive文件听起来像是不好的做法,那么我很想知道为什么!
答案 0 :(得分:1)
您使用的“ .archive”文件扩展名不是标准的,而是您选择的任意文件扩展名。
因此,您的应用程序应定义自己的自定义文件扩展名和UTI以表示存档文件。通过使用NSKeyedArchiver创建文件的事实与用户无关。
在“导出的UTI”部分下定义您的自定义UTI和文件扩展名。然后将其添加到“文档类型”部分。
然后将您的自定义UTI与UIDocumentPickerViewController
一起使用,因此只能选择来自您应用的自定义扩展名的文件。