Accessibility APIはサンドボックス化後に機能するのを停止します -- cocoa フィールド と sandbox フィールド と mac-app-store フィールド と accessibility-api フィールド 関連 問題

Accessibility API stops working after sandboxing












5
vote

問題

日本語

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

私のアプリをMASに送信したい(Mac App Store)。サンドボックスをオンにするには、MASにアプリを送信することを読んでいます。

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

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

事前にありがとうございました。

英語

My Mac App uses accessibility API to move an resize window (of other apps).

I would like to submit my app to the MAS (Mac App Store). I have read that to submit an app to the MAS is mandatory to turn on sandboxing.

When I turn on the sandboxing my code can´t find the focused window through the accessibility API (always return NULL). The question is: the accessibility API can´t be used with sandboxing?

I notice that there are applications in the Mac App Store that uses accessibility API, is not mandatory sandboxing by now?

Thanks in advance.

</div
           

回答リスト

6
 
vote

最初の、 3月 2012年6月、Mac Apple Storeのすべてのアプリは私が見つけた研究からサンドボックス化する必要があります。サンドボックス化はあなたのアプリを将来的に証明するつもりはない。

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

  1. entitlements のリストを調べて、あなたがentitlements を介してあなたのアプリのアクセスを許可できるかどうかを確認してください(Appleの方法では、必要な機能にアクセスするための特別な特権の特別な特権を利用できます)。 こちらはこちらについてのウォークスルーあなたはあなたが行方不明のどの資質を通してトレースを切り替えることができ、を必要とするかもしれません。
  2. アクセスしたい特定の機能でAppleにバグ要求を送信します。誰が知っている、彼らはあなたがアクセスできるように彼らのコードベースを更新するかもしれません。
  3. 電子商取引サイトで製品としてアプリを販売し、Mac Apple Storeで販売していません。特にあなたのアプリケーションがMAS上で見つからないことをすることができる場合は、通常のWebサイト(バージョン、テクニカメイト、その他の素晴らしいアプリケーションとして行われてきたのと同じように)あなたのアプリを購入してインストールすることができます。
  4. ドキュメントを見れば、それが明示的に支援アプリをサンドボックスで述べていることがわかります。

    これはドキュメントからの抜粋サンドボックスのためのアプリの準備:

    補助アプリにおけるアクセシビリティAPIの使用

    App Sandboxを使えば、以下のように、アクセシビリティのためにアプリを使用できるようにすることができます。 アクセシビリティの概要しかし、あなたは支援アプリをサンドボックスすることはできません スクリーンリーダーなど、コントロールするアプリをサンドボックスできません 別のアプリ。

    これはドキュメントからの抜粋ココア:

    のアクセシビリティ

    注:アプリのサンドボックスを使用すると、アプリを有効にすることができます。 この文書に記載されているように、アクセシビリティ。しかし、あなたはできません サンドボックススクリーンリーダーなどの支援アプリで、できません サンドボックス他のアプリを制御するアプリ。

    ダブルスピーチのような少し聞こえます:あなたはあなたのアプリをアクセス可能なしかし、あなたはAssistantアプリをサンドボックスすることはできません...

 

First, by March June, 2012, all Apps on the Mac Apple Store will be required to be Sandboxed, from the research I've found. Not Sandboxing isn't going to future-proof your app.

Second, I've found 3 strategies that you may consider:

  1. Look up the list of entitlements, and see if you can grant your app access via the Entitlements (Apple's way of allowing Apps special privileges to access key features they'lll need). Here's a walk-through via Apple's documentation on how you can stack-trace through which entitlements you're missing and might need.
  2. Submit a bug request to Apple on the specific feature you want access to. Who knows, they may actually update their codebase to allow you access.
  3. Consider selling the app as a product on an e-commerce site, and not selling on the Mac Apple Store. People can still buy and install your app on a regular website (as Versions, TextMate, and other wonderful applications have done before going on MAS), especially if your application does things that can't be found on the MAS.

If you look at the documentation, you'll find that it explicitly states you cannot sandbox an assistive app.

Here's an excerpt from their documentation on preparing an App for Sandbox:

Use of accessibility APIs in assistive apps

With App Sandbox, you can and should enable your app for accessibility, as described in Accessibility Overview. However, you cannot sandbox an assistive app such as a screen reader, and you cannot sandbox an app that controls another app.

Here's an excerpt from their documentation on Accesibility in Cocoa:

Note: With App Sandbox, you can and should enable your app for accessibility, as described in this document. However, you cannot sandbox an assistive app such as a screen reader, and you cannot sandbox an app that controls another app.

It sounds a bit like double-speak: you should enable your app to be Accessible however you cannot sandbox an assistant app...

</div
 
 
         
         

関連する質問

0  複数のテキストノードを折り返すビューのデフォルトのAccessibilityLabelにアクセスできますか?  ( How can i access the default accessibilitylabel of a view wrapping multiple text ) 
不確定数のテキストまたはテキストのようなノードを含めることができる親ビューにアクセシビリティプロップを追加したいのですが。 docs 、ラベルはすべてのテキストを連結して構築されているDOCS ノードの子がスペースで区切られている場合は、テキストノードの不...

16  アクセシビリティサービスが開始されていません  ( Accessibility service is not started ) 
Android IC(4.0.3)ですべてのトーストイベントを記録したいが、システムイベントを記録できませんでした。サービスは開始されていません! この質問によると: OnAccessibilityEvent(AccessibilitEventイベント)i...

3  Mac App Store:サンドボックスは必須ですか?  ( Mac app store is sandboxing the app mandatory ) 
アクセシビリティAPIが必要なので、サンドボックスなしでアプリを配布する必要があります。サンドボクシングなしで送信した場合は、アプリが拒否されるかどうかを誰かが知っていますか(正当な理由で)? MAC App Storeガイドライン書かれている:< / P...

1  ココアアクセシビリティAPIマウスクリックを消費します  ( Cocoa accessibility api consuming mouse clicks ) 
私は私のOS Xアプリの1つに奇妙な問題を抱えています。アプリはAXAPIを使用してイベントタップを作成し、キーボードとマウスイベントを監視します。 OS 10.6-10.7を持つユーザーは、アプリがアクティブな場合、マウスが正しく機能しないことを報告します ...

5  アクセシビリティの向上に選択する方法  ( How to opt in to accessibility improvements ) 
私はプロパティグリッドを使用するC#アプリケーションを持っています。 ContentAlignmentプロパティを編集すると、このエラーメッセージが表示されます。 デスクトップアプリケーションは以前のすべてにオプトインするために必要です 後の改善を得るた...

2  ChromeとFirefoxを有効にするためにどのアクセシビリティAPIを使用することができますか? UIAはうまく機能しないし、頻繁に壊れています  ( Which accessibility apis can be used to enable chrome and firefox uia does not ) 
私たちは補助ユーザーエージェントのようなものを書いています。これは、アクセシビリティAPIを使用して画面を読み取り、ユーザーに助けを提供します。 UIAはChromeとFirefoxによってネイティブにサポートされていないようです。これは、ChromeまたはF...

1  アプリケーションが使用する準備ができている前(起動)の準備ができた前に呼び出されたNSWorkSpacherSeactivativativativatifatification  ( Nsworkspacedidactivateapplicationnotification called before application is ready ) 
NSWorkSpacedIdactivativateApplicationNotificationとNSWorkSpacedIdlaunchApplicationNotification通知を使用して、ユーザーが対話しているアプリケーションを知るために。 ...

0  アンドロイドの現在のフォーカスアイテムを得るためのGoogle Talkback API  ( Google talkback api to get current focus item in android ) 
私のアプリケーションはアクセシビリティ機能をサポートしており、アプリケーションはポートレートとランドスケープモードの両方を持っています。 私の画面では、カスタム行を持つListViewのようなビューがいくつかあります。 私が直面している問題は、縦モードと回転...

39  10.9でプログラム的に補助機器へのアクセスを有効にします  ( Enable access for assistive devices programmatically on 10 9 ) 
私は10.9でプログラムで補助装置へのアクセスを有効にしたいです。補助装置へのアクセスを可能にするために、10.8以降のIPRESCRIPTを使用していました: <事前> <コード> tell application "System Events" if UI...

4  CustomイベントをAccessibilityServiceに送信するにはどうすればいいですか?  ( How to send a custom event to accessibilityservice ) 
私のプログラム目的:サービス内の戻るボタンをトリガー 私は多くの方法を試しました、誰もこの目的を達成することができず、ついに私はアクセシビリティサービスを発見しました、それはこの関数を実装するための最も可能な方法かもしれません。 このアクセシビリティサービスを...




© 2022 cndgn.com All Rights Reserved. Q&Aハウス 全著作権所有