問題タブ [findersync]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
434 参照

macos - Finder Sync: アクションに渡される送信者は NSMenuItem の異なるインスタンスです

Apple から提供されたサンプルに従って、Finder Sync 拡張機能を実装しました。

新しく作成されたコンテキスト メニュー項目をクリックすると、対応するアクションsampleActionが実行されます。残念ながら、メソッドに渡された送信者は、で作成されたインスタンスと一致しませんmenuForMenuKind

コード

コンテキストメニューで要素をクリックすると、次の出力が得られます

.

クリックされたメニュー項目に送信者をリンクする機会はありますか?

0 投票する
0 に答える
136 参照

c# - Monodevelop で Finder Sync 拡張機能を作成する方法

OS X では、Finder Sync 拡張ポイントを使用すると、Finder のユーザー インターフェイスをクリーンかつ安全に変更して、ファイルの同期ステータスと制御を表現できます。

通常、次のような緑色のマークアイコン オーバーレイを表示していました。

ファインダー同期

公式ドキュメントには、XCode を使用して Finder Sync 拡張機能を作成する方法が記載されています。
質問: XCodeの代わりに Monodevelopを使用して Finder Sync 拡張機能を作成する方法は?

0 投票する
1 に答える
3327 参照

objective-c - OS X Finder 同期拡張機能

シンプルな Finder Sync 拡張機能を作成できません。

新しい OS X プロジェクトを作成し、Finder Sync Extension ターゲットを追加して、finder に添付された拡張機能を実行しました。コードは init メソッドを実行しているように見え、ツールバー項目のメソッドが呼び出されていますが、ファインダーには何も表示されていません。

端末は実行時にこれを表示しています

2015-04-20 12:45:52.700 pcssyncextension[3196:62451] (NSApplication) から (NSColorPickerGridView) への (colorGridView) アウトレットの接続に失敗しました: セッターまたはインスタンス変数がありません 2015-04-20 12:45:52.701 pcssyncextension[3196 :62451] (NSApplication) から (NSColorPickerGridView) へのアウトレットの接続 (表示) に失敗しました: セッターまたはインスタンス変数がありませんuser/Library/Developer/Xcode/DerivedData/findersynctest-dkyjmfmqzedkquhbhqxejzlzzukn/Build/Products/Debug/findersynctest.app/Contents/PlugIns/pcssyncextension.appex ; 12:36:01 にコンパイル

空のプロジェクトを作成して Finder Sync Extension を追加する以外に、これを機能させるために必要なことはありますか?

0 投票する
2 に答える
1254 参照

macos - サンドボックス環境での FinderSync 拡張機能の読み取りおよび書き込みアクセス

シナリオ

ユーザーが Finder でディレクトリを右クリックし、カスタム MenuItem を見つけます。その項目をクリックすると、ユーザーが自分の作業を行うことができるウィンドウを開くようにアプリに指示します。終了したら、右クリックして選択したフォルダにファイルを書き込む必要があります。

問題

これですべてが機能するようになりましたが、最後の部分です。拡張機能は、選択したフォルダーに書き込めません。

操作したいフォルダーを選択しているユーザーは、Powerbox の一部ではないようopenPanelですsavePanel。メニュー項目からユーザーが選択したフォルダを操作する権限を取得するにはどうすればよいですか? 開発者ライブラリで、その問題に対する可能な解決策への参照が見つかりません。サンドボックス ガイドではなく、拡張機能ガイドではありません。

選択したファイルやフォルダーを使用する方法がなければ、カスタム メニュー項目を追加する可能性はかなり役に立たないので、それらにアクセスする方法が必要であると確信しています。

私の書き方が間違っているのかもしれません。私のメイン アプリは、一時ファイルを共有グループ フォルダーに書き込みます。その後、拡張機能がリッスンする通知を送信します。

ファイルを書き込もうとすると、次のコンソール通知が表示されます。

  • /Users//Desktop/SharedData.png で開く: 操作は許可されていません
  • /Users//Desktop/SharedData.png ファイルの書き込みを拒否

ユーザーが選択したフォルダにアクセスする方法についてのアイデアは大歓迎です。

アップデート

私は決して間違いを犯していないことを安心させました。を介してフォルダーにアクセスすることは許可されていますがNSOpenPanel(つまり、資格が適切である必要があります)、フォルダーを作成したり、デフォルトのターゲット URL をブックマークしたりすることはできませんFIFinderSyncController

0 投票する
1 に答える
174 参照

objective-c - FinderSync コンテキスト メニューが間違ったクラスでアクションを呼び出す

ここで非常に奇妙な問題があります。FinderSync 拡張機能を作成しています。具体的には、コンテキスト メニューに要素を追加しています。すべてを 1 つのクラスにまとめると、問題なく動作します。

1) FinderSync と呼ばれるメイン拡張クラスがあります。

2)このクラスでは、実装します

3)このメソッドでは、(とりわけ)書いています:

4) FinderSync クラスには、メソッドが存在します。

5) ユーザーがメニュー項目をクリックすると、このメソッドが期待どおりに呼び出されます。

現在:コンテキスト メニュー機能を ContextMenuHandler という別のクラスに外注しようとしています。現在の状況:

1) FinderSync と呼ばれるメイン拡張クラスと、ContextMenuHandler と呼ばれる別のクラスがあります。FinderSync は ContextMenuHandler のインスタンスを作成し、それへの参照 (_contextMenuHandler) を保持します。

2) 両方のクラスが実装

3) menuForMenuKind の FinderSync 実装は、呼び出すだけです。

4) ContextMenuHandler は NSMenuItem を作成します。(まったく同じコード)。私も追加しようとしました:

どちらのクラスも myAction を実装しています。

5)想定:メニュー項目をクリックすると、ContextMenuHandler の myAction が呼び出されます観察: FinderSync の myAction が呼び出されます...

また、更新後にファインダーを再起動しており、ContextMenuHandler のブレークポイントが正しくヒットしているため、「古い FinderSync バージョンの実行」の問題ではないようです。

この奇妙な動作の説明 (または修正) はありますか?