Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

266
Views
¿Cómo solicitar funciones de accesibilidad en una aplicación macOS (desde AppDelegate)?

Estoy creando una aplicación para macOS que requiere monitorear las pulsaciones de teclas globales. Entonces, el detector de eventos global sería:

 NSEvent.addGlobalMonitorForEvents(matching: NSEvent.EventTypeMask.keyDown) { (event) in print(event.keyCode) }

Pero esto no hace nada como se menciona en este hilo . Intenté la respuesta dada en el hilo agregando:

 let options: NSDictionary = [kAXTrustedCheckOptionPrompt.takeUnretainedValue() as String : true] let accessEnabled = AXIsProcessTrustedWithOptions(options) if !accessEnabled { print("Access Not Enabled") } else { print("Access Granted") }

Esto hace que el cuadro de diálogo solicite acceso, pero dado que es un proceso asíncrono, otorgar acceso aún no mueve el hilo a un punto en el que pueda monitorear las pulsaciones de teclas. Además, este cuadro de diálogo aparece en cada lanzamiento de la aplicación, cómo curar esta elegante solicitud de accesibilidad sin problemas, ya que no hay documentación adecuada en ninguna parte, por lo que busqué.

over 4 years ago · Santiago Trujillo
1 answers
Answer question

0

Me di cuenta de que esto es un error de Xcode. Esto se produce si el proveedor de vista previa de SwiftUI se ejecuta simultáneamente con la compilación real, lo que provoca cierta confusión con los permisos de accesibilidad con macOS.

La aplicación funciona como se esperaba después de limpiar el directorio de datos derivados. Puedes hacer eso con

 rm -rf ~/Library/Developer/Xcode/DerivedData
over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!