| 49 | <2023/7再検証> |
| 50 | ・LSItemContentTypesがpublic.dataの項目を入れると、不明拡張子ファイルを右クリックで、「このアプリケーションで開く」の候補に出るようになる。 |
| 51 | ・クリエータコード設定は無視される。下記ドキュメントの「Preferred Application for a Document」の4a。macOS Venturaで、いくつかテストしたが、クリエータコードの有無や内容でアプリ関連付けには影響しない。 |
| 52 | https://developer.apple.com/library/archive/documentation/Carbon/Conceptual/LaunchServicesConcepts/LSCConcepts/LSCConcepts.html#//apple_ref/doc/uid/TP30000999-CH202-TP9 |
| 53 | ・不明拡張子、タイプTEXTのファイルはmacOSデフォルトではテキストエディットに結び付けられている。Finderコマンド+Iの「すべてを変更」で別アプリに結びつけると、「この変更は種類が"TEXT"のすべての書類に適用されます」と表示されるが、実際には別の拡張子には影響しない。(他にもこのダイアログの表示内容と実際の動作が一致しないことがいくつかある。) |
| 54 | ・拡張子なし、タイプTEXTのファイルをFinderコマンド+Iの「すべてを変更」で別アプリに結びつけると、すべての不明拡張子、タイプTEXTのファイルがそのアプリに結びつく。 |
| 55 | ・不明拡張子ダブルクリックで、ダイアログからアプリケーションを選択すると、その拡張子は選択したアプリに結びつく。(右クリックでこのアプリケーションで開く、だと結びつかない) |
| 56 | ・アップル標準アプリにはLSIsAppleDefaultForTypeという項目が設定されていて、優先して起動される?ぽいがundocumented |
| 57 | |
| 58 | <タイプコードについて> |
| 59 | ・拡張子なしのファイル:タイプコードがないと、どうやってもアプリ関連付けができない(エラーダイアログ表示される)。→'TEXT'をつけなければならない。 |
| 60 | ・Info.plistに登録している拡張子のファイル:タイプコードをつけてもつけなくても動作に影響しない。→つけないほうが良い。 |
| 61 | ・Info.plistに登録していない拡張子のファイル:'TEXT'をつけた場合、ユーザーが既に拡張子なしのファイルについて「すべてを変更」でTEXTをmiに関連付けているなら、ダブルクリックで開けるが、そうでない場合はテキストエディットが開く(「すべてを変更」で関連付けを変える必要がある)。'TEXT'をつけない場合、ダブルクリックで不明拡張子としてダイアログが表示され、miを選択すれば自動的にその拡張子とmiが結びつく。現在ではmacでも拡張子を付けるほうが一般的と思われるので、拡張子なしファイルをmiに結びつける操作をしているユーザーが少数派であることを考えると、後者のほうがベター(わかりやすい)と思われる。 |
| 62 | |
| 63 | <対応内容> |
| 64 | ・クリエータコードはつけない。関連設定も削除。 |
| 65 | ・タイプコードは、拡張子がない場合の新規保存に限り、'TEXT'を付ける。 |
| 66 | ・Info.plistに、LSItemContentTypesがpublic.dataの項目を追加。 |
| 67 | ・AppleのアプリでもCFBundleTypeExtensions は使っているので、すべてをLSItemContentTypesに変更することはせず、c, html等は現状通り。(大変なわりにメリットはなさそう) |
| 68 | ・Info.plistはCFBundleTypeExtensions指定項目からの'TEXT'削除等、他にもいくつか改善。 |
| 69 | |