🐰

ファイルのUTIを取得する

2024/05/11に公開

ファイルのUTIはURLオブジェクトから取得することができます。

URLオブジェクトからresourceValues(forKeys:)でリソース情報を取得できるので、contentTypeを指定しましょう。古い方法ではtypeIdentifierを指定していましたが、こちらはiOS 17.5, macOS 14.5で非推奨となっています。

Swift
import Foundation
import UniformTypeIdentifiers

let url = URL(fileURLWithPath: "file:///.../file.zip") // 任意のファイルのURL
let values = (try? url.resourceValues(forKeys: [.contentTypeKey]))
if let contentType = values?.contentType {
	print(UTI: \(contentType))
	// UTI: public.zip-archive
}

あるいはコマンドラインから

Shell
mdls -name kMDItemContentType /path/to/file

Discussion