2014-11-06 5 views
5

나는 맥 응용 프로그램 저장소에 배포하려는 맥 응용 프로그램을 만들고 있습니다. 이 응용 프로그램은 화면 잠금 기능이 필요합니다.샌드 박스 응용 프로그램에서 MacBook 화면 잠그기

나는 두 가지 접근 방식을 사용하고 있는데 문제는 응용 프로그램 (Mac 앱 스토어에 필요함)에 대한 샌드 박스 기능을 사용하는 즉시 해당 접근 방식이 작동하지 않는다는 것입니다.

요청할 권한이 무엇인지 알고 계십니까? 아니면 샌드 박스 작업에 사용할 수있는 세 번째 방법에 대해 알고 있습니까?

감사

접근 한, CGSession를 사용하여 (SWIFT) : IORequestIdle (SWIFT)를 사용하여

var arguments = ["-suspend"] 
var task = NSTask() 
task.arguments = arguments 
task.launchPath = "/System/Library/CoreServices/Menu Extras/User.menu/Contents/Resources/CGSession" 
task.launch() 

접근법 2 :

이 할 수없는 말을
var r = IORegistryEntryFromPath(kIOMasterPortDefault, "IOService:/IOResources/IODisplayWrangler") 
if (r > 0) { 
    IORegistryEntrySetCFProperty(r, "IORequestIdle", kCFBooleanTrue) 
    IOObjectRelease(r) 
} 
+0

그런데 Objective-C 솔루션에 만족합니다 – saintmac

+0

잠금 화면이 필요합니까? 은둔? 데이터 보호? Mac뿐 아니라 응용 프로그램 전체를 잠글 수있는 이유는 무엇입니까? 전체 Mac을 잠 그려면 시스템 환경 설정> 보안> "절전 또는 화면 보호기 후 암호 필요"를 활성화하고 화면/화면 보호기의 절전 모드로 들어가기위한 활성 모서리를 설정하도록 사용자에게 요청하십시오. 관리자 권한과 관련하여 프로그래밍 방식으로이 작업을 수행 할 수 있을지는 의문입니다. –

+0

목표는 Mac을 잠그는 것입니다. 앱이 아닙니다. 목표는 Mac을 잠그는 방법에 대한 자습서가 아니라 "잠금 버튼"을 제공하는 것입니다. 우리는 이미 그 동안 작업하고 있습니다. Sandbox에서 앱으로 이미 완료했기 때문에 프로그래밍 방식으로 수행 할 수 있습니다 방법. 질문은 샌드 박스 모드에서 앱을 배포하는 방법입니다. – saintmac

답변

0

죄송합니다 . 샌드 박싱의 목적은 앱이 전체 컴퓨터를 사용할 수 없게하는 것입니다.

샌드 박스 가이드에 설명 된 채널을 통해 일시적인 예외가 발생할 수 있습니다.