objective-c – 如何使用沙盒应用程序的辅助功能?

前端之家收集整理的这篇文章主要介绍了objective-c – 如何使用沙盒应用程序的辅助功能?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
OS X有一个很好的功能,如Accessibility API,它允许从您的应用程序代码控制一些系统元素和另一个应用程序.但是在打开SandBox后它就会停止工作.要向商店提交应用程序,必须启用沙盒.

这就是Apple所说的:

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.

但App Store有一些使用Accessibility API的应用程序:

> Cinch – 调整Windows大小
> BetterSnapTool – 同样的
> PopClip – 获取所选文本

所以这意味着可以一起使用SandBox / Accessibility API / App Store,但是如何?

解决方法

从几年前开始,OS X沙箱中无法提供Accessibility API,但这可能已经发生变化.但是,更有可能的是,这些应用程序设法从Apple获得特殊例外,并且他们有额外的沙盒权利,这些权利部分将其从沙箱中分离出来,足以让他们使用辅助功能API.

你应该做的是首先通过bugreporter.apple.com提交一个bug,告诉你在尝试使用可访问性和原因,并要求他们给你一个沙盒例外.如果他们批准异常,他们可能会为您提供一个沙盒配置文件语言代码自定义位置,从而可以从(稍微削弱)沙箱中调用辅助功能API.

话虽如此,根据您正在做的事情,如果Apple说“抱歉,该应用程序不适合应用程序商店模型,请不要感到惊讶.请使用禁用沙盒的开发者ID签署您的应用程序,并将其分发到外部商店.“

猜你在找的C&C++相关文章