Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Macos 从沙盒应用程序锁定macbook屏幕_Macos_Swift_Sandbox_Mac App Store_Entitlements - Fatal编程技术网

Macos 从沙盒应用程序锁定macbook屏幕

Macos 从沙盒应用程序锁定macbook屏幕,macos,swift,sandbox,mac-app-store,entitlements,Macos,Swift,Sandbox,Mac App Store,Entitlements,我正在构建一个要在mac应用商店中分发的mac应用程序。我需要这个应用程序有一个锁屏功能 我有两种不同的方法可以工作,问题是,一旦我为应用程序启用沙箱(mac app store需要),这两种方法都不起作用 你知道我需要申请哪项权利吗?或者您知道第三种方法可以使用沙箱吗 谢谢 方法1,使用CGSession(swift): 方法2,使用IORequistidle(swift): 很抱歉,这件事办不到。沙箱的目的是防止应用程序占用整个计算机 您可以尝试通过沙箱指南中记录的通道获取临时异常 我对Ob

我正在构建一个要在mac应用商店中分发的mac应用程序。我需要这个应用程序有一个锁屏功能

我有两种不同的方法可以工作,问题是,一旦我为应用程序启用沙箱(mac app store需要),这两种方法都不起作用

你知道我需要申请哪项权利吗?或者您知道第三种方法可以使用沙箱吗

谢谢

方法1,使用CGSession(swift):

方法2,使用IORequistidle(swift):


很抱歉,这件事办不到。沙箱的目的是防止应用程序占用整个计算机


您可以尝试通过沙箱指南中记录的通道获取临时异常

我对Objective-C解决方案很满意顺便问一下,锁屏需要什么?隐私?数据保护?为什么要锁定整个Mac而不仅仅是你的应用程序?要锁定整个mac,请用户激活系统首选项>安全>“睡眠或屏幕保护程序后需要密码”,并设置活动角以进入屏幕/屏幕保护程序睡眠。我怀疑这是否可以通过编程实现,因为它涉及到管理员权限。因为目标是锁定mac。不是应用程序。我们的目标是提供一个“锁定按钮”,而不是一个关于如何锁定mac的教程(我们在此期间已经在做了),它可以通过编程来完成,因为我们已经在应用程序脱离沙箱模式的情况下完成了。问题是如何在沙盒模式下(分发应用程序)供参考如果您在其首选项中启用相应选项,Keychain Access应用程序可以随时在菜单栏中放置“锁定屏幕”项。是的,我知道,谢谢,这就是我们的教程现在所说的
var arguments = ["-suspend"]
var task = NSTask()
task.arguments = arguments
task.launchPath = "/System/Library/CoreServices/Menu Extras/User.menu/Contents/Resources/CGSession"
task.launch()
var r = IORegistryEntryFromPath(kIOMasterPortDefault, "IOService:/IOResources/IODisplayWrangler") 
if (r > 0) {
  IORegistryEntrySetCFProperty(r, "IORequestIdle", kCFBooleanTrue)
  IOObjectRelease(r)
}