OSを開いて、それぞれのアプリケーションを起動できるアプリでは、ファイルを開くアプリを選択することがよくあります。例はFinderです。OS Xの「開く」コンテキストメニューを実装する方法
これを実装する最適な解決策についてはまだ不明です。課題はパフォーマンスとアプリのアイコンを示すことです。
最初に、アプリケーションのリストを取得するために、私はLSCopyApplicationURLsForURL()だけを見つけました。
今私の主な問題は、アプリのアイコンを取得することです。私が持っているのは、アプリケーションへのURL(パス)だけです。私がアイコンを取得するために知っている唯一の方法は、CFBundleオブジェクトを作成し、アイコンのデータを取得するためにアプリのplistを読み込むことです。しかし、それはディスクアクセスの多くを招くように見え、アプリケーションがリモートファイルサーバー上に置かれていると非常に非効率的であると想像できる。
私は、アイコンと表示名(拡張子なし)などのアプリケーションに関するキャッシュデータベースもあると思います。しかし、そのためのAPIはどこですか?
注:アプリはCarbonベースですが、必要に応じてCocoa(NS ...)関数を使用できます。また、10.5、10.4のサポートも高く評価されます。