티스토리 뷰

매버릭스 업데이트 후 개발 중인 맥 앱에서 발생하는 문제

OSX 매버릭스로 업데이트한 후 XCode로 개발 중인 유틸리티 프로그램의 일부 기능이 작동하지 않는 현상이 발생한다. 원래 Alpha 버전으로 곧 배포할 예정이었는데, 이 문제로 배포가 늦어질 것 같다.

문제는 Objective-C와 Cocoa를 사용하여 전역 마우스 및 키보드 후킹(hook global mouse and keyboard event)을 사용하는 코드가 있는데, 그 중 키보드 이벤트만 캡춰링(capturing)할 수 없는 현상이 발생한다.

해결 방법

의외로 해결 방법은 간단하다. 먼저 OSX 매버릭스에서 변경된 보안 사항에 대해서 알 필요가 있다. 기술적인 내용은 아니므로 쉬엄쉬엄 다음의 글을 참고하기 바란다.

OS X 10.9 매버릭스(Mavericks)의 바뀐 메뉴 구조 때문에 정상 작동하지 않는 앱 실행하기 (보조 장비에 대한 접근 활성화)

즉, 기본적으로 매버릭스를 설치하면 ‘손쉬운 사용’에 의해 응용 프로그램이 맥이나 기타 장비를 제어하는 것이 차단된다. 필자는 매버릭스로 업데이트 이전에 ‘손쉬운 사용’을 활성화하여 장비에 접근할 수 있도록 설정되어 있었다. 하지만, 업데이트 후에 ‘손쉬운 사용’의 활성화 방법이 변경되면서 이 설정이 초기화 된 것으로 볼 수 있다.

해결 방법은 ‘시스템 환경 설정 -> 보안 및 개인정보’로 들어간 후, ‘손쉬운 사용’ 항목에서 Xcode를 체크해 주면 된다. 그럼 특정 응용 프로그램에서 사용하는 APIs 가 블럭 당하지 않는다.

[그림1] 손쉬운 사용의 Xcode 항목을 체크하면 APIs 가 블럭 당하지 않는다

댓글