2011-12-27 2 views
12

C++로 작성된 Xcode '명령 줄 도구'프로젝트가 있습니다. 최근에 CoreLocation 프레임 워크와 관련 코드를 추가하여 사용자 위치를 찾았습니다.Xcode 명령 줄 도구 프로젝트에서 CoreLocation 권한을 사용할 수 있습니까?

일반적으로 CoreLocation 프레임 워크를 구현하면 OS X에서 응용 프로그램에 대한 권한을 요청합니다. 명령 줄 도구로는 이런 일이 발생하지 않습니다. 관련 창/메뉴가 없기 때문에 그렇습니까?

또한 보안> 개인 정보의 시스템 환경 설정 패널에서 수동으로 권한을 사용하려고하면 응용 프로그램을 실행할 때마다 자동으로 액세스가 비활성화됩니다.

모든 정보는 크게 감사하겠습니다.

+0

누구든지 직접 문제를 경험하고 싶다면 Xcode 프로젝트 예가 있습니다. –

+1

가능한 것처럼 보입니다. http://code.google.com/p/corelocationcli/을 사용해 보셨습니까? – Philippe

+0

필 필자는 필자에게 필자에게 감사드립니다. 그 프로젝트가 위치 권한을 묻는 이유는 모르겠지만 광산은 그렇지 않습니다. NSRunLoop과 관련이 있습니까? –

답변

0

CoreLocation에서 위치 데이터를 요청할 때 Mac에서 다시 묻지 않고 확인을 클릭하면 사용자에게 권한을 요청하는 메시지 상자가 나타납니다. 보안 환경 설정 패널에서 "경고 재설정"을 클릭하십시오. 그러나 명령 줄 응용 프로그램을 다른 디렉토리로 이동하면 Mac에서 다시 권한을 요청합니다. 이 사용 권한은 응용 프로그램의 전체 경로와 함께 저장됩니다 믿습니다.

2

Mac OS에서 일부 항목은 윈도우 서버에 연결해야합니다. 예를 들어 NSImage이고 위치 서비스에서도 이러한 연결이 필요합니다.

그러나 나는 어떻게 이런 연결을해야할지 모르겠다. NSApplicationMain.

할 수있는 일은 도킹 스테이션 (상태 표시 줄 응용 프로그램처럼)에 표시되지 않지만 NSApplicationMain을 호출하는 보조 응용 프로그램을 작성하는 것입니다. 이 응용 프로그램은 모든 위치 서비스를 수행하고 stdout이나 소켓 또는 비슷한 것을 통해 호출 프로세스 (CLI)와 통신합니다.

+0

안녕하세요. 상태 막대 응용 프로그램을 사용하는 것이 좋습니다. –

+0

상태 표시 줄에 반드시 아이콘이 필요하지는 않습니다. LSBackgroundOnly (http://www.cocoadev.com/index.pl?LSBackgroundOnly)를 살펴보십시오. – v1Axvw

1

Foundation.h도 프로젝트로 가져오고 있습니까? CoreLocation의 모든 종속성을 확인하고 프로젝트에 포함시켜야합니다. CoreLocation은 Objective-C로 작성되기 때문에 호출 중 일부가 컴파일러에 의해 catch되지 않을 수도 있습니다.

관련 문제