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

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

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

해결 방법

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

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

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

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

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

Posted by 땡초 POWERUMC

댓글을 달아 주세요

IntelliJ 배포 오류

Gradle로 구성된 프로젝트가 여러개 있는데, 그 중 하나만 IntelliJ에서 제대로 인식하는데 실패한 적이 있다. Tomcat으로 올바로 구동이 되어야 하는데, 배포가 되었다고만 나오고 Tomcat Context에 로드되지 않는 현상이 발생한다.


관련된 오류를 검색해 보았다. 하지만 전혀 다른 문제의 답변이었다.


 Artifact XXX:war exploded: Server is not connected. Deploy is not available. 


그러다가 Modules 구성을 살펴보니 여기에 문제가 있었다. 일전에 우리팀 루피님께서 Spring 구성이 잘 안되었다고 봐준적이 있는데, 어찌어찌 시간이 없어 이제서야 다시 살펴보게 되었다.

아래는 올바른 모듈의 Spring 구성이다. 


아래는 올바르지 않은 모듈 구성이다.  


문제가 되는 모듈을 제거하자. 


Gradle을 Import 로 다시 불러오자. 





이제 Tomcat에서 Spring MVC 응용 프로그램이 올바르게 구성이 된다. 


'Java' 카테고리의 다른 글

[IntelliJ] Tomcat 구동 오류 해결  (0) 2013.10.21
Posted by 땡초 POWERUMC

댓글을 달아 주세요