macOS 13 Ventura で以下の関数が使えなくなった件。
# Deprecated UTTypeCreatePreferredIdentifierForTag
UTI を調べる方法にて検索するとメッチャ見つかります。
でももう使えません、別の方法を探す。
UTType | Apple Developer Documentation
UTType クラスに typeWithFilenameExtension メソッドがある。
+ だから static method ですね、これ使えるかも。
以下 PyObjC です、他言語の人は変換してね。
#!/usr/bin/env python3
'''
PyObjC @ Get UTI
'''
import sys, UniformTypeIdentifiers
for filename in sys.argv[1:]:
n = filename.rfind('.') + 1
if n > 0:
ext = filename[n:]
uti = UniformTypeIdentifiers.UTType.typeWithFilenameExtension_(ext)
print(f'{ext}: {uti}')
''' Deprecated
import sys, CoreServices
for ext in sys.argv[1:]:
uti = CoreServices.UTTypeCreatePreferredIdentifierForTag(
CoreServices.kUTTagClassFilenameExtension, ext, None)
arr = CoreServices.UTTypeCopyDeclaration(uti)['UTTypeConformsTo']
con = ','.join(arr)
print(f'{ext}: {uti} [{con}]')
'''
# ex: ft=py
よしデジカメ RAW ファイルでも問題なく UTI が得られるぞと。
本サイトのほうも書き換えしておきます。
しかし以前貼ったスクリプトで WebP 化したけど文字がチト見づらいな。
これも要改良かな、ということで。
今日はアオジが撮れました。

