Saya dapat menggunakan mdl untuk menunjukkan Uniform Type Identifier (UTI) untuk file yang sewenang-wenang serta hierarki jenis yang merupakan superset dari UTI tertentu.
mac:~ mike$ mdls -name kMDItemContentType -name kMDItemContentTypeTree foo.ksh
kMDItemContentType = "public.ksh-script"
kMDItemContentTypeTree = (
"public.ksh-script",
"public.shell-script",
"public.script",
"public.source-code",
"public.plain-text",
"public.text",
"public.data",
"public.item",
"public.content"
)
mac:~ mike$ mdls -name kMDItemContentType -name kMDItemContentTypeTree foo.command
kMDItemContentType = "com.apple.terminal.shell-script"
kMDItemContentTypeTree = (
"com.apple.terminal.shell-script",
"public.shell-script",
"public.script",
"public.source-code",
"public.plain-text",
"public.text",
"public.data",
"public.item",
"public.content"
)
Apakah ada alat yang dapat menunjukkan Aplikasi mana yang telah terdaftar untuk ISK tertentu selain coba-coba?
Jelas dari pemeriksaan bahwa foo.command
file tersebut akan dibuka oleh Terminal.app, tetapi sama sekali tidak jelas bahwa foo.ksh saat ini milik TextEdit.app.
Saya ingin dapat membaca basis data Layanan Peluncuran Mac OS X secara langsung tanpa harus menggunakan open
untuk melihat aplikasi mana yang dipilih berdasarkan UTI. Ini seperti memiliki --preview --verbose
saklar untuk terbuka untuk memberi tahu saya apa yang akan dilakukan daripada melakukannya.
Bahkan yang lebih baik adalah cara untuk membuat daftar semua aplikasi yang dapat membuka ISK itu, bahkan jika mereka bukan aplikasi yang disukai.
Untuk mendapatkan informasi sekunder ini, saya harus membuat atau menemukan file untuk setiap jenis minat dan menggunakan Finder untuk secara manual menunjukkan aplikasi mana yang dapat membuka UTI itu.
Saya benar-benar ingin dapat mengakses data ini secara programatik dari terminal.