用swift开发自己的MacOS锁屏软件(二)

上一篇中尝试写了hello world,这一篇中,开始尝试锁屏功能

1、尝试查找swift有没有相关的函数,可以控制系统锁屏之类的,结果并没有找到

2、尝试查找cocoa有没有相关的接口,结果仍然没有找到

3、尝试找一些系统命令,结果找到了

/System/Library/CoreServices/Menu Extras/User.menu/Contents/Resources/CGSession -suspend

这条命令,在终端执行发现确实可以立即进入锁频界面,接下来就是尝试用swift调用它了。网上找了一番,发现可以用NSTask调用外部命令,在Xcode里写了出来发现没有代码提示,原来在swift中是使用Process代替了NSTask,Process可以设置两个参数,一个是launchPath,也就是执行命令的路径,另一个是arguments,也就是参数。所以我们将我们button按钮中的代码改为如下

@IBAction func changLabelText(_ sender: Any) {
        let p=Process()
        p.launchPath="/System/Library/CoreServices/Menu Extras/User.menu/Contents/Resources/CGSession"
        p.arguments=["-suspend"]
        p.launch()
    }

运行之后果然已经可以实现锁屏功能了。

posted @ 2016-12-27 15:22  血之君殇  阅读(1184)  评论(0编辑  收藏  举报