对于每个https://apple.stackexchange.com/a/9883/206073,应通过LSHandlers -> LSHandlerContentType
中的com.apple.LaunchServices/com.apple.launchservices.secure
(通过defaults write com.apple.LaunchServices/com.apple.launchservices.secure.plist LSHandlers -array[-add]
)设置按内容类型打开的默认文件。 LSHandlerContentType
的格式显然是Mac上指示MIME类型的方式,例如“ public.css”。 (而且我知道defaults read /System/Library/CoreServices/CoreTypes.bundle/Contents/Info.plist
可以显示Mac如何将这些内容类型与MIME类型相关联(以及UTTypeConformsTo
还将如何指示类型之间的层次结构)。)
但是,根据https://superuser.com/a/421865/156958,还可以通过将LSHandlers -> LSHandlerContentTag
设置为MIME类型(例如“ text / css”)并将LSHandlerContentTagClass
设置为“ public”来关联内容类型。哑剧类型”。但是,在我自己的defaults read com.apple.LaunchServices/com.apple.launchservices.secure.plist LSHandlers
中看不到任何此类设置。
我不清楚应首选哪种方法(LSHandlerContentType
或LSHandlerContentTag
(带有LSHandlerContentTagClass
的“ public.mime-type”类型))(或优先选择哪种方法),或者是否有必要同时使用两者。
作为奖励,我也很想知道UTImportedTypeDeclarations
/ UTExportedTypeDeclarations
可能如何适合这个需求(例如,如果第三方MIME类型的这些指示影响两种格式中的哪一种),使用)。