0

ここに質問があります。ユーザーがOSXデスクトップをダブルクリックしたのはいつかを調べる必要がありますが、その上のアイコンはわかりません。

今、私は次の解決策を考えましたが、それらが実行可能かどうかはわかりません。

  1. デスクトップアイコンの位置(取得方法がわからない)とデスクトップアイコンのサイズを使用して、ユーザーがデスクトップをダブルクリックすると、アイコン領域の1つにあるかどうかを理論的に確認できます。対照:一部のアイコンは透明であるか、アイコンサイズ全体を占めていない可能性があるため、完璧ではない可能性があります。

  2. デスクトップのアイコンがクリックされたかどうかを示す変数があるのではないでしょうか。次に、ユーザーが最後にデスクをダブルクリックしたときに、その変数がアクティブ化されているかどうかを確認できます。

私は確かに他の(より良い)ソリューションを受け入れていますが、MacAppStore用にサンドボックス化できる必要があります。

4

1 に答える 1

0

いくつかの理由から、これはおそらく Mac App Store には適していません。

まず、ウィンドウ外のクリックをどのように傍受しますか? これにはいくつかの異なるメカニズム (イベント タップなど) がありますが、サンドボックス アプリでは許可されていません。これは意図的なものであり、正当な理由があります。他のアプリや OS に干渉することは想定されていません。

それに加えて、あなたがやろうとしていることが非標準の UI/HIG のものとしてカウントされないとは想像しがたいです。これが却下のもう 1 つの理由です。

しかし、それが問題ではなく、デスクトップ上のクリックを傍受できると仮定すると、デスクトップ上のすべてのアイコンを取得する方法が文書化されていないため、.DS_store ファイルを直接読み取る必要があります。つまり、非公開の実装情報に依存することになります。 、これは許可されていない別のことです。

最後に、その .DS_store ファイルにアクセスする必要があります。ユーザーが (非表示の) ファイルまたはその親ディレクトリをアプリにドラッグするか、NSOpenPanel などで選択することを期待していない限り、サンドボックス内からそのようなアクセスを取得する唯一の方法は、一時的な例外資格を使用することです。OSのバグまたは制限の回避策として必要な理由をレビュアーに正当化できない限り、これは使用できません。それで、あなたの正当化はどうなりますか?

于 2012-07-11T23:51:13.440 に答える