2017-08-31 27 views

回答

4

看起來像「重複」標記已被刪除,但我也回到了評論部分。因此,對於後人:

這是行不通的原因是因爲.keyDown事件的全局監視器需要比某些其他事件處理程序更多的權限,包括有人認爲這是重複的。這主要是因爲全球.keyDown監視器可用於惡意目的,如鍵盤記錄器。所以有額外的安全措施來確保我們是合法的:

1)您的應用程序需要進行代碼簽名。

2)您的應用需要啓用了應用程序沙箱和:

3)您的應用需要在安全性進行登記和隱私偏好設置面板,輔助下。

第三的這些東西一個必須由用戶啓用,但是你可以用這個代碼輕移他們在那個方向:

let options: NSDictionary = [kAXTrustedCheckOptionPrompt.takeUnretainedValue() as String : true] 
let accessEnabled = AXIsProcessTrustedWithOptions(options) 

if !accessEnabled { 
    print("Access Not Enabled") 
} 

這會提示用戶,讓他/她的選項自動打開適當的偏好設置窗格,用戶可以通過Accessibility API允許您的應用程序控制計算機,假設您的應用程序已簽名且未經過沙盒處理,它將允許您的全局.keyDown監視器工作。

+0

謝謝sooo多!!! –

+0

感謝您的支持! –

相關問題