因此,我们最近发布了一个基于文档的应用程序,其中包含一个不幸的疏忽:我们的主要文档类型的UTI留空了。我们有一个名字,但标识符是空的。
一切仍然很好,但后来我们又添加了另一种文件类型。新文件类型只是xml(符合public.xml)。我们将其设置并将其放入文档中。这是我们对第一个文档类型的UTI进行监督的时候。
现在,如果我们非常触摸这个文档类型,BOOM。应用程序无法读取它创建的该类型的任何文件。我们真的想要清理它,那么最好的方法是什么呢?
我的问题基本上是: 如何在基于文档的应用程序中迁移主文档类型?
答案 0 :(得分:1)
首先,在用于削减构建的机器上调试此类问题非常困难。动态UTI系统对哪个应用程序拥有哪些文件感到困惑。要解决此问题,您可以在终端中运行命令clear out the file associations on your system.
接下来,我们处理了应用程序的实际文档类型。最终,我们只想支持两种文档类型,即自定义类型和xml类型。但是,我们必须保留那个空的,动态生成的UTI。在“文档类型”中,我们有三个:我们实际想要支持的两个以及我们不再需要的旧版本。对于前两个,我们的应用程序是“编辑器”。对于旧版本,我们将其更改为“Reader”。
真正帮助我们系统的另一件事是使用导出的导入UTI。我们告诉系统我们的应用程序导入XML类型,并导出其他两个。
我们已经完成了一些非常重要的测试,包括部署,这种配置就像魅力一样。