2011-12-14 15 views
2

フォルダのをMac上で登録して、特定のアプリケーション(.appフォルダのようなものが特別な動作をする)で開くことはできますか?それが可能なら、どうですか? 私はこのような解決策を探しています:related question、フォルダでのみ、ファイルではありません。Mac OSX:フォルダの拡張子の関連付けをプログラムで

UTIs UTIsの参照を見ましたが、適切な識別子(例:public.folder-extension)が見つかりませんでした。

これはまったく可能ですか? GUIで私はそれを行う方法も見ませんでした(特定の拡張子を持つフォルダの場合、 "Open With ..."オプションはありません)。 [重要:GUI上でこれをしたくないのですが、これは不可能かもしれないと言う理由だけでした。]

答えて

3

私のために働く方法を見つけました。この問題):

  1. は、アプリケーションバンドルのInfo.plistファイルに次のコードを追加します。

    <key>CFBundleDocumentTypes</key> 
    <array> 
        <dict> 
         <key>CFBundleTypeExtensions</key> 
         <array> 
          <string>ext1</string> 
          <string>ext2</string> 
         </array> 
         <key>CFBundleTypeIconFile</key> 
         <string>documentlogo.icns</string> 
         <key>CFBundleTypeName</key> 
         <string>My Bundle Type Name</string> 
         <key>CFBundleTypeRole</key> 
         <string>Viewer</string> 
         <key>LSTypeIsPackage</key> 
         <true /> 
        </dict> 
    </array> 
    
  2. はEXT1、あなたがサポートしたい拡張子を持つEXT2、documentlogo.icnsを交換してくださいその文書のアイコンの名前(これはアプリケーションBundle.app/Contents/Resources/documentlogo.icns)、およびバンドルタイプ名(バンドルの分かりやすい名前))

  3. この例では、アプリケーションのバンドルとして認識されるすべてのフォルダは、拡張子はext1またはext2で、Contents/PkgInfoファイルには8 "?"が含まれている必要があります。他のすべての内容はあなた次第です。

私は、これらのソースの私の解決策、Document PackagesInformation Property List Key ReferenceDocument Packages Examplesをベースにします。

私はまだそれが良い/より効率的な方法がある場合は、私はまだいくつかの疑問を持っているので、私を修正してください(例えば、私が見る通り、これはパッケージだけでなく普通のファイルでも機能するはずです。 LaunchServicesの方法も必要ですか?アプリケーションバンドルはデフォルトですか、LaunchServicesは各ユーザーのカスタマイズ方法ですか?)

0

これを手動で行う方法が見つかりました。プログラムでこの情報を回答と組み合わせることができます。https://superuser.com/questions/273756/how-to-change-default-app-for-all-files-of-particular-file-type-through-terminal

XCodeがインストールされている必要があります。オープンターミナルまたはITERMと:

cd ~/Library/Preferences 
open com.apple.LaunchServices.plist 

次のエントリを追加または上書き(「フォルダ」を検索するにはCmdを+ Fを使用):

LSHandlerContentType String public.folder 
LSHandlerRoleAll String com.somecompany.someproduct 

既存の名前でcom.somecompany.someproductを交換してください - あなたが見ることができますこれらは同じディレクトリ(~/Library/Preferences)にあります - 彼らは.plistで終わります - 例えばcom.macromates.textmateまたはcom.sublimetext.2

クイックシルバーを使用する場合は、「現在の選択(プロキシオブジェクト) - >開く - >ここにあなたのアプリケーション」というカスタムキーボードトリガを追加します。Finderのフォルダで新しく作成されたキーボードショートカットを使用するたびに、これも上記の関連付けを作成する(そして盛んに再作成する)ことがわかりました。

関連する問題