10.6からは書類の識別にもUTIが本格導入されました。拡張子はそのUTIを決定するための判断材料として使われ、クリエータは無視されるようになりました。
バージョンアップして、ふと気がつくとそうなのだ。
GraphicConverterで作ったjpegファイルも、Pixelmatorで作ったjpegも、ダブルクリックすると、プレビューが起動してしまう。これは困った…… (長い愚痴なので詳細は「もっと読む」で)
Leopard以前では、それぞれのファイルがクリエーターコードを持っており、そこに指定されたオーナーアプリケーションが起動していた。AppleのLaunch Services Programing Guideによると、
- If more than one application has been found as a result of steps 2–3, apply the following criteria in the order shown:
- If the document carries a four-character creator signature (or if one has been specified as a parameter), give preference to any application that claims to accept documents with that signature (typically the application to which the signature belongs).
で、このルールであれば、jpegファイルで同じ拡張子を持っていても、それぞれのクリエータコードが異なっていれば、例えば片方がGraphic Converter、片方がPhotoshopであれば、それに応じたアプリケーションが起動されるはずだった。
Snow Leopardでは、それぞれの文書を独自にアプリケーションにバインドするために使用されていたこのクリエーターコードを利用することができなくなったため、拡張子から判別されるファイルタイプにデフォルトで関連づけられているアプリケーション(jpegの場合、プレビュー)が、起動されてしまうということらしい。
問題を複雑にしそうなのが、他のOSのように単純に拡張子だけで関連づけられているアプリケーションを判断しているのでなく、UTIというメタデータも導入されている点。例えば、jpegファイルの拡張子jpgを取ってしまったらプレビューが起動しないかというと、UTI上でjpegファイルだという情報を保持しているようでダブルクリックするとやっぱりプレビューが起動する。
結局対処としては、アプリケーションを起動してからファイルを開くか(CUI時代に逆行か)、ファイルを右クリックして「このアプリケーションで開く」で明示的にアプリケーションを選択するかしかない。
ユーザーからみると、この拡張子によらず作成したアプリケーションと個別のファイルを関連づけられる仕組みはとても便利で、WIndowsなどと比較しても便利な運用ができるアドバンテージだったはず。なんでわざわざ葬り去ってしまったんだろう。
コメント
コメントを投稿