3

FinderSync アプリケーション拡張機能のサポートを提供する必要がある Mac アプリを開発しています。サイドバーとツールバーのアイコンの問題を除いて、すべて正常に動作します。

  1. ユーザーの介入なしにツールバーとサイドバーのアイコンをプログラムで追加する方法はありますか? ドキュメントのように、それを行うのに役立つものは何も見つかりませんでした。これらのアイコンについては、ユーザーが手動でフォルダを手動でサイドバーにドラッグするか、ツールバーを手動でカスタマイズする必要がありますが、実行時にこれを実現するための API は必要ないと述べています。ただし、誰かがツールバーから削除した場合に元に戻るアプリがあります。

  2. アイコンセット以外に、フォルダのアイコンを表示する他の方法はありますか? サイドバーにアイコンがあるアプリが他にもあることに気付きましたが、バンドル リソースにアイコンが設定されていないようで、CFBundleIconFile が icns リソースに設定されています。

  3. menuForMenuKind: でメニュー項目を無効にする方法はありますか? 通常の NSMenu の状況では、メニュー項目にアクションまたはターゲットがないはずですが、そうではありません。そうしても、メニュー項目は引き続き有効です。

助けてくれてどうもありがとう!

4

1 に答える 1

3

痛みの世界へようこそ。私は Finder Sync 拡張機能も開発しているので、質問に対する回答を以下に示します。

  1. 今、プログラムでツールバー ボタンを追加する方法を探しています。これを実行できるいくつかのフレーズを見ました。アイテムをサイドバーに追加するには、LSSharedFileList コードをいくつか使用する必要があり ます

  2. 現在 (Mac OS X 10.11 以降) サイドバー アイコンは、アイコンセット経由でのみ変更できます。以前は、10.11 では許可されていない Finder コード インジェクションを介して変更することができました。

  3. [menuItem setEnabled:NO] を使用するだけです。また、すべてのメニュー項目が 10.10 で使用できるわけではないことに注意してください。たとえば、チェックボックスが表示されず、区切り項目がスペースとして表示されます。また、ハンドラーの送信者パラメーターは常に空の NSMenuItem オブジェクトです。

于 2015-10-01T12:21:33.540 に答える