5

私の Mac アプリはアクセシビリティ API を使用して、(他のアプリの) サイズ変更ウィンドウを移動します。

アプリを MAS (Mac App Store) に提出したいと考えています。サンドボックスを有効にするには、アプリを MAS に送信することが必須であると読みました。

サンドボックス化をオンにすると、コードはアクセシビリティ API を介してフォーカスされたウィンドウを見つけることができません (常に NULL を返します)。問題は、アクセシビリティ API はサンドボックスで使用できないのですか?

アクセシビリティ API を使用するアプリケーションが Mac App Store にあることに気付きましたが、今ではサンドボックス化は必須ではありませんか?

前もって感謝します。

4

1 に答える 1

6

まず、 2012年3月までに、私が見つけた調査によると、MacAppleStore上のすべてのアプリをサンドボックス化する必要があります。サンドボックス化は、アプリの将来性を保証するものではありません。

第二に、私はあなたが考えるかもしれない3つの戦略を見つけました:

  1. エンタイトルメントのリストを調べて、エンタイトルメントを介してアプリへのアクセスを許可できるかどうかを確認します(アプリに必要な主要機能にアクセスするための特別な特権をアプリに許可するAppleの方法)。これは、Appleのドキュメントを介したウォークスルーであり、不足していて必要になる可能性のある資格をスタックトレースする方法について説明しています
  2. アクセスしたい特定の機能に関するバグリクエストをAppleに送信します。誰が知っているか、彼らは実際にあなたがアクセスできるように彼らのコードベースを更新するかもしれません。
  3. Mac Apple Storeでは販売​​せず、eコマースサイトで製品としてアプリを販売することを検討してください。特に、MASで見つけることができないことをアプリケーションが実行する場合は、通常のWebサイトでアプリを購入してインストールできます(Versions、TextMate、およびその他のすばらしいアプリケーションがMASに移行する前に行ったように)。

ドキュメントを見ると、支援アプリをサンドボックス化できないことが明示的に示されていることがわかります。

サンドボックス用のアプリの準備に関するドキュメントからの抜粋です

支援アプリでのアクセシビリティAPIの使用

App Sandboxを使用すると、ユーザー補助の概要で説明されているように、アプリのユーザー補助を有効にすることができます。ただし、スクリーンリーダーなどの補助アプリをサンドボックス化することはできません。また、別のアプリを制御するアプリをサンドボックス化することもできません。

これは、Cocoaのアクセス可能性に関するドキュメントからの抜粋です。

注:App Sandboxを使用すると、このドキュメントで説明されているように、アプリのユーザー補助機能を有効にすることができます。ただし、スクリーンリーダーなどの補助アプリをサンドボックス化することはできません。また、別のアプリを制御するアプリをサンドボックス化することもできません。

ダブルスピークのように聞こえます。アプリをアクセシブルにする必要がありますが、アシスタントアプリをサンドボックス化することはできません...

于 2012-01-15T16:23:52.807 に答える