2015-10-05 7 views
5

拡張子がFinderSyncです。選択が選択されているかどうか、または拡張子を選択/選択解除する際に問題があります。FinderSyncで拡張子が選択されているかどうかを確認します

System Preferences->ExtensionsFinderSync拡張が選択されているかどうかをプログラムで確認する方法はありますか?

この選択が変更されたときに通知を受けるAPIはありますか?

拡張機能を選択/選択解除するAPIはありますか?私はすでにこれらのページを訪問した

system("pluginkit -e use -i com.mycompany.finderExt") 

注:拡張機能が有効になっている場合は

How to enable FinderSync Extension in the System Preference in Cocoa - Objective C

OSX Finder Sync Extension

+0

: あなたがシステム環境設定でそれを有効にする、MacOSのは、自動的に

だから、(あなたが活動のアプリまたはPS -efコマンドで確認できます)、それをロードします、あなたは簡単のようないくつかのコードでそれを確認することができます私の知る限り、あなたの質問に対する答えは、いいえ、いいえ、いいえではありません。私はうれしくも間違っていると証明されるだろう。 – dejuknow

+0

なぜ選択されているか確認する必要がありますか?どうしてしばらく毎回それを強制的に選択してみませんか? pluginkitコマンドがあなたに迷惑をかけているのはなぜですか? – Mugen

+0

私が実装しなければならない機能の1つは、ユーザがFinder拡張機能を有効/無効にすることができるapp preferencesダイアログボックスのチェックボックスを持つことです。このオプションはシステム環境設定 - >拡張機能の選択と同期する必要があります。あなたが言ったように私はそれを作ることができますが、ユーザがシステム環境設定から拡張機能を無効にしたい場合、私は彼の動作を無効にしたくありません。また、2つのチェックボックスを同期させずに簡単に作成できます。今のところ私はただボタンを表示し、クリックすると、ユーザーをExtensionsのprefpaneにリダイレクトします。 – ciprian

答えて

7
pluginkit -m -A -i com.mycompany.finderExt 

は、呼び出しが返されます

「+ com.mycompany.finderEただ、com.mycompany.finderExt(1) "

お知らせのプラスとマイナス記号 - XT(1)」の拡張子が有効でない場合

、コールは

を返します"戻り値を解析して、拡張機能が有効かどうかを判断します。

0

FinderSync拡張子は「アプリケーション」です。そのバンドルは.appexという名前になります。

runningApps = [[NSRunningApplication runningApplicationsWithBundleIdentifier:@"your.bundle.id"] retain]; 
if runningApps.count != 0{ 
    //your extension was enabled 
} 
else{ 
//your extension was not enabled 
} 
関連する問題