AXUIElement를 조작하기 위해
소개
mac에서 다른 앱의 윈도우를 이동시키는 앱을 만들고 싶고 여러가지 조사한 곳
기사가 도움이되었습니다.
그러나 구현 중에 위 기사의 제한 사항을 피하지 않았기 때문에 AXUIElement
를 조작한다 AXUIElementCopyAttributeValue
또는 AXUIElementSetAttributeValue
취득하지 못하고 빠져 버렸습니다.
그래서 잊지 말고 제한을 피하기 위해 접근성 권한을 앱에 부여하는 방법을 남기기로 결정했습니다.
해결 방법
1. SandBox 끄기
Xcode에서 자동 생성되는 アプリ名.entitlements
파일의 App sandbox를 NO로 변경
내게 필요한 옵션 API는 App SandBox 환경에서 두드리지 않으므로 SandBox 설정을 제거합니다.
2. 내게 필요한 옵션 권한 부여
다음 코드를 삽입합니다.
let options: NSDictionary = [kAXTrustedCheckOptionPrompt.takeUnretainedValue() as String : true]
let accessEnabled = AXIsProcessTrustedWithOptions(options)
if !accessEnabled {
print("Access Not Enabled")
}
AXIsProcessTrustedWithOptions
에서 앱에 접근성 권한이 있는지 확인하고, 그렇지 않으면 권한을 부여할지 묻는 대화 상자가 표시되므로 시스템 환경 설정에서 권한을 부여합니다.
결론
아는 사람에게는 간단한 일이라도 지식이 없으면 고생하네요.
이번에 처음으로 괜찮은 앱을 제작하고 있습니다만, 제대로 된 엔지니어에의 길은 아직도 앞이 길 것 같습니다.
Reference
이 문제에 관하여(AXUIElement를 조작하기 위해), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/hannighf/items/c16ab85caed4c6852154
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
1. SandBox 끄기
Xcode에서 자동 생성되는
アプリ名.entitlements
파일의 App sandbox를 NO로 변경내게 필요한 옵션 API는 App SandBox 환경에서 두드리지 않으므로 SandBox 설정을 제거합니다.
2. 내게 필요한 옵션 권한 부여
다음 코드를 삽입합니다.
let options: NSDictionary = [kAXTrustedCheckOptionPrompt.takeUnretainedValue() as String : true]
let accessEnabled = AXIsProcessTrustedWithOptions(options)
if !accessEnabled {
print("Access Not Enabled")
}
AXIsProcessTrustedWithOptions
에서 앱에 접근성 권한이 있는지 확인하고, 그렇지 않으면 권한을 부여할지 묻는 대화 상자가 표시되므로 시스템 환경 설정에서 권한을 부여합니다.결론
아는 사람에게는 간단한 일이라도 지식이 없으면 고생하네요.
이번에 처음으로 괜찮은 앱을 제작하고 있습니다만, 제대로 된 엔지니어에의 길은 아직도 앞이 길 것 같습니다.
Reference
이 문제에 관하여(AXUIElement를 조작하기 위해), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/hannighf/items/c16ab85caed4c6852154
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Reference
이 문제에 관하여(AXUIElement를 조작하기 위해), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/hannighf/items/c16ab85caed4c6852154텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)