在進行 iOS macOS 開發的時候,我們經常會需要和文件進行交互,比如說關聯並打開某一類型的文件,那麼這個時候,你用到的並不是這個文件的後綴名,而是它的 UTI。
UTI 是一個統一文件類型名稱,它規定了一個文件應該是什麼類型,而不是靠後綴來確定,比如 txt,文本,json 都是纯文本文件,它们都是 public.text
那麼,通常情况下,对于知名的文件类型,你可以到苹果官方的页面查看列表,这里为你展示了大部分常见的扩展名应该对应的 UTI。
但这些只是很少的一部分,还有很多已知的文件后缀并不存在于这个列表当中,比如 .plist中 ,那麼,我们要怎么办呢?自己去声明吗?
顯然,自己声明一个常见后缀是存在隐患的,那麼,你可以在 macOS 上使用命令行工具来确定这个文件的文件类型。
首先,你要有一个 .plist中 文件,然后执行如下命令即可:
1 |
mdls -name kMDItemContentTypeTree "your/path/to/file.plist" |
这样就可以得到这个文件的类型树,最顶端的就是它的类型。
你得到的结果如下:
1 2 3 4 5 |
kMDItemContentTypeTree = ( "com.apple.property-list", "public.data", "public.item" ) |
那麼顯然, 同.apple.屬性-名單 就是 .plist中 的 UTI 了。