LSSetDefaultRoleHandlerForContentType 関数を使用して、ファイル拡張子 .mkv のデフォルト アプリケーションとして DVDPlayer.app を設定します。
abc.mkv を右クリックし、開くメニューで、DVDPlayer がデフォルトのアプリケーションになっています。以下のメソッドも DVDPlayer.app を返します。
LSCopyDefaultRoleHandlerForContentType
LSCopyAllRoleHandlersForContentType
LSGetApplicationForInfo
ただし、Finder で abc.mkv のファイル情報を確認してください。そのデフォルトは依然として QuickTime Player です。
abc.mkv をダブルクリックすると、QuickTime Player が起動します。
なんで?ダブルクリックのために他に何かすることはありますか?
私を混乱させているのは、LSGetApplicationForInfo によって取得された情報が、Finder の情報に表示されている情報と異なることです! 混乱している...