개인 API를 사용하지 않고 네트워크 환경 설정 패널에서 "위치"값을 프로그래밍 방식으로 설정하는 방법이 있습니까?개인 API를 사용하지 않고 네트워크 기본 설정 창에서 "위치"값 설정
Mac App Store에서 허용하는 방식으로이 작업을 수행해야합니다.
개인 API를 사용하지 않고 네트워크 환경 설정 패널에서 "위치"값을 프로그래밍 방식으로 설정하는 방법이 있습니까?개인 API를 사용하지 않고 네트워크 기본 설정 창에서 "위치"값 설정
Mac App Store에서 허용하는 방식으로이 작업을 수행해야합니다.
가 AFAIK 신뢰성이 달성 할 수없는 라이브러리 함수 없다,하지만 당신은 networksetup
도구를 실행할 수 있습니다 :
/usr/sbin/networksetup -switchtolocation $LOCATION
아아를, 나는 이것이 MAS 응용 프로그램에 허용되는 경우 확실하지 않다. 확실히 알기위한 유일한 방법은 항상 노력하는 것입니다.
사실, 은 공개 &입니다. 원하는 API를 사용할 수 있습니다.
System Configuration framework을 살펴보십시오. 새로운 위치를 설정하는 내 자신의 코드에서 사용하는 실제 호출은 (내 사용자가 일어나고 있다는 것을 완전히 알고있는 상태에서) SCNetworkSetSetCurrent
입니다. 샌드 박스 응용 프로그램에서이 일을
번호 1) @gcbrueckmann 말한대로 (그래서 말에 그를 위해 일) : 말했다
는 두 개의 당신이 당신의 자신의 코드에서이 작업을 수행 할 수없는 이유있다 Mac App Store에서 판매하는 것은 확실합니다.숫자 2) 시스템 수준 설정을 수정하는 시스템 구성 설정을 망칠 경우 권한이있는 (즉, 관리자 또는 루트로 실행) 도구 또는 앱에서 수행해야합니다.
제 경험상,'SCNetworkSetSetCurrent()'는 예상대로 작동하지 않습니다 (지적한 것처럼 루트 권한이 필요합니다). 그러나 'networksetup'도구 방법은 그렇지 않습니다. (관리자 권한이 필요하다고 문서화되어 있습니다.) – gcbrueckmann
scselect가 작동하며 관리자 권한이 필요하지 않습니다.
scselect $LOCATION
하지만 샌드 박스에서 사용하지 못할 수 있습니다.
또한 AppleScript로 변경할 수도 있지만 다시 샌드 박스에서 문제가 발생할 수 있습니다.
이 서비스는 어떤 용도로 사용됩니까? 나는 갑자기 그들의 위치가 알려지지 않고 변경되면 사용자가 너무 행복해 할 것이라고 생각하지 않는다. –
고객이 해당 기능을 원합니다. 그림을 이동. – cfischer