2011-08-03 7 views
6

NSAccessibility API'sı kullanan kakao uygulamaları, Evrensel Erişim pref bölmesinde kontrol edilmek üzere "yardımcı aygıtlar için erişimi etkinleştir" gerektirir. Birçok uygulama gördüğümde, bunlar çalıştırıldığında devre dışı bırakılırsa uyarı verir. Uygulamanın etkin olup olmadığını nasıl kontrol edebilirim, böylece uygulamamda bir uyarı gösterebilir miyim?Kakao uygulamasında "yardımcı aygıtlar için erişimi etkinleştir" öğesinin denetlenip otomatik olarak ayarlanacağını belirleme

+0

? Bir uygulama yeniden başlatma gerekli mi? – cksubs

+0

Bu soruyu burada soruyorsunuz, yeniden başlatmaya ihtiyacınız var gibi görünüyor: http://stackoverflow.com/questions/9132845/how-do-i-give-my-app-assistive-access-privileges-once-enable-access- for-assis – cksubs

cevap

4

Bence AXAPIEnabled()'u arıyorsun.

extern Boolean AXAPIEnabled(); 

the docs alıntı:

İade erişilebilirlik API'si etkin olup olmadığını.

Erişilebilirlik API'si etkinse TRUE değerini döndürür, aksi halde FALSE.

Erişilebilirlik API'si etkin değilse veya arama işlemi güvenilir bir erişilebilirlik istemcisi değilse, yardımcı uygulamalar çalışmayacaktır. Kullanıcılar, Evrensel Erişim Tercihlerindeki "Yardımcı cihazlar için erişimini etkinleştir" seçeneğini işaretleyerek erişilebilirlik API'sini etkinleştirebilir.

+0

Ayrıca, [AXIsProcessTrusted/AXMakeProcessTrusted] (http://www.cocoabuilder.com/archive/cocoa/135734-axisprocesstrusted-axmakeprocesstrusted.html) tartışmasını da okumalısınız. Ayrıca, AXIsProcessTrusted() 'ı da kontrol etmeniz gerektiğini öğreneceksiniz. – 0xced

+1

'AXAPIEnabled()' OS X 10.9'da kullanımdan kaldırılmıştır. Mavericks – pkamb

+1

Evet, bu işlevsellik 10.9 için, [bu soru] bölümüne bakın (http://stackoverflow.com/questions/17693408/enable-access-for-assistive-devices -programmatically-on-10-9) ve en yüksek puanlı cevap. – zpasternack

11

OS X 10.9 Mavericks AXAPIEnabled()has been deprecated.

AXIsProcessTrustedWithOptions yerine kullanılabilir:

"uygulamanız: Eğer kAXTrustedCheckOptionPrompt için YES geçmek durumunda

NSDictionary *options = @{(id)kAXTrustedCheckOptionPrompt: @YES}; 
BOOL accessibilityEnabled = AXIsProcessTrustedWithOptions((CFDictionaryRef)options); 

, sistem Sistem Tercihleri ​​bağlantısını içeren bir yararlı küçük iletişim kullanıcılarına gösterecek .app erişilebilirlik özelliklerini kullanarak bu bilgisayarı kontrol etmek istiyor. " Eğer Yardımcı Access kullanarak başlarım nasıl ayarının açık olarak algılayan koyduğumuzda

enter image description here

İlgili konular