Ứng dụng ca cao sử dụng API NSAccessibility yêu cầu "bật quyền truy cập cho thiết bị trợ giúp" để được kiểm tra trong ngăn truy cập Universal pref. Tôi đã nhìn thấy nhiều ứng dụng bật một cảnh báo nếu điều này bị tắt khi chúng chạy. Làm cách nào để kiểm tra theo chương trình nếu tính năng này được bật để tôi có thể hiển thị cảnh báo trong ứng dụng của mình?Lập trình xác định xem "bật quyền truy cập cho thiết bị trợ giúp" được chọn trong ứng dụng Cocoa
Trả lời
Tôi nghĩ bạn đang tìm kiếm AXAPIEnabled()
.
extern Boolean AXAPIEnabled();
Trích dẫn the docs:
Returns liệu API khả năng tiếp cận được kích hoạt.
Trả về TRUE nếu API trợ năng hiện được bật, nếu không FALSE.
Ứng dụng trợ giúp sẽ không hoạt động nếu API trợ năng không được kích hoạt hoặc nếu quá trình gọi không phải là khả năng truy cập đáng tin cậy khách hàng. Người dùng có thể bật API trợ năng bằng cách chọn "Bật quyền truy cập cho thiết bị trợ giúp" trong Tùy chọn truy cập toàn cầu.
Bạn cũng nên đọc thảo luận [AXIsProcessTrusted/AXMakeProcessTrusted] (http://www.cocoabuilder.com/archive/cocoa/135734-axisprocesstrusted-axmakeprocesstrusted.html). Bạn sẽ biết rằng bạn cũng nên kiểm tra 'AXIsProcessTrusted()'. – 0xced
'AXAPIEnabled()' đã không được chấp nhận trong OS X 10.9 Mavericks – pkamb
Có, đối với chức năng này trong 10.9, hãy xem [câu hỏi này] (http://stackoverflow.com/questions/17693408/enable-access-for-assistive-devices -programmatically-on-10-9) và câu trả lời được đánh giá cao nhất của nó. – zpasternack
Trong OS X 10.9 Mavericks, AXAPIEnabled()
has been deprecated.
AXIsProcessTrustedWithOptions
thể được sử dụng thay vì:
NSDictionary *options = @{(id)kAXTrustedCheckOptionPrompt: @YES};
BOOL accessibilityEnabled = AXIsProcessTrustedWithOptions((CFDictionaryRef)options);
Nếu bạn vượt qua trong YES
cho kAXTrustedCheckOptionPrompt
, hệ thống sẽ hiển thị cho người dùng một hộp thoại nhỏ hữu ích với một liên kết đến System Preferences:
"yourapp .app muốn kiểm soát máy tính này bằng các tính năng trợ năng. "
- 1. AppleScript - Lỗi sự kiện hệ thống: Quyền truy cập cho các thiết bị trợ giúp bị tắt
- 2. Trợ giúp thiết lập php cho Eclipse
- 3. iOS5: cách xác định xem Trung tâm thông báo cho ứng dụng có được BẬT/TẮT
- 4. Quyền tùy chọn để ứng dụng có thể hiển thị trên tất cả các thiết bị và bật các tính năng tùy chọn trên một số thiết bị?
- 5. Cách xác định thiết bị Android theo cách lập trình?
- 6. Tạo ứng dụng Django di động - trợ giúp cần thiết
- 7. Ứng dụng bị từ chối, bộ đếm giờ giám sát hoặc mất quyền truy cập
- 8. Thiết lập lớp CSS mặc định cho các phương thức trợ giúp trình tạo biểu mẫu của Rails
- 9. Trợ giúp thiết kế cho một ứng dụng được nối mạng?
- 10. Làm thế nào để bạn thiết lập quyền truy cập thư mục trong NSIS?
- 11. Trình trợ giúp xem Ember JS/Handlebars
- 12. Xác định tagPrefixes trong trợ giúp Web.config
- 13. Thêm Trợ giúp vào Ứng dụng Cacao
- 14. Cần trợ giúp thiết lập hành khách với RVM
- 15. Giúp một sinh viên khiếm thị được thiết lập cho các lớp lập trình
- 16. Trợ giúp truy cập cài đặt ứng dụng sử dụng ConfigurationManager
- 17. Chế độ Máy chủ USB - quyền truy cập thiết bị được cấp nhưng không được ghi nhớ
- 18. Xác định xem thiết bị có phải là Kindle
- 19. Ứng dụng Cài đặt quyền truy cập trong iOS
- 20. Cho phép máy tính truy cập vào ứng dụng web
- 21. Định nghĩa thiết bị chính xác cho Google Glass (cho trình giả lập trong Eclipse hoặc Android studio) là gì?
- 22. Xác định xem ứng dụng có bị chặn/bận không?
- 23. lập trình nhận dạng thiết bị iphone
- 24. Haskell - Trợ giúp lập trình chức năng
- 25. URDU hoặc Hỗ trợ tiếng Ả Rập trong Android cho trình giả lập và thiết bị
- 26. Hỗ trợ thiết kế đa chương trình c giúp
- 27. cấp quyền hệ thống cho ứng dụng trong trình giả lập android
- 28. Cocoa: Sandbox quyền để khởi động một ứng dụng khác
- 29. Thử nghiệm ứng dụng iPhone với quyền truy cập mạng bị giới hạn
- 30. Xác định xem hộp kiểm Truy cập có được chọn hay không
Một khi bạn có thể phát hiện rằng các thiết lập đã được bật, làm thế nào để bạn bắt đầu sử dụng thuật trợ giúp truy cập? Yêu cầu khởi động lại ứng dụng phải không? – cksubs
Khi được hỏi câu hỏi ở đây, có vẻ như bạn cần khởi động lại: http://stackoverflow.com/questions/9132845/how-do-i-give-my-app-assistive-access-privileges-once-enable-access- for-assis – cksubs