对于我正在开发的应用程序,我们开发了基于HTML的文件格式,因此即使没有我们的应用程序的用户也可以使用Web浏览器预览文档.
但是,对于拥有该应用程序的用户,我们希望使用它来打开这些文件.我们决定使用'.shtml'扩展名,默认情况下在大多数操作系统上由浏览器打开,并没有广泛使用.
我们现在遇到麻烦,让MacOS明白我们的.shtml文件与常规的.html文件不同,应该用我们的应用程序打开.问题是MacOS已经将.shtml文件注册为"public.html".即使我使用UTTypeIdentifier"com.example.shtml"和UTTypeTagSpecification的'shtml'的public.filename-extension定义UTI,系统也始终将.shtml文件检测为'public.html'而不是'com.example.shtml' ,即使我将UTTypeConformsTo设置为'public.html'...
关于操作系统用于检测系统定义的UTI的启发式的文档很少,至少可以说,所以我找不到如何将我的文件更改为不被检测为public.html.欢迎任何帮助,或指示正确的方向.谢谢!
文件关联基于 MIME 类型、UTI 定义进行工作。希望这些链接对您有帮助 https://developer.apple.com/library/content/documentation/FileManagement/Conceptual/understand_utis/understand_utis_conc/understand_utis_conc.html https://developer.apple.com/library/content/documentation/FileManagement/概念/understand_utis/understand_utis_declare/understand_utis_declare.html