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 化したけど文字がチト見づらいな。
これも要改良かな、ということで。
今日はアオジが撮れました。