首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >是否可以通过编程方式打开/关闭OS X的“请勿打扰”

是否可以通过编程方式打开/关闭OS X的“请勿打扰”
EN

Stack Overflow用户
提问于 2014-08-09 02:36:41
回答 1查看 9.4K关注 0票数 30

有没有可能通过编程的方式打开/关闭mac os x的“无干扰”,也就是通过代码。我通过谷歌做了一些研究,比如:

  1. By Automator script applescripting notification center scheduling do not disturb。顺便说一句,当我关闭NotificationCenter时,请勿干扰开关仍然是关闭的,但如何使用args -currentHost (在上面的链接中提到的文章)
EN

回答 1

Stack Overflow用户

发布于 2017-08-12 09:09:47

@Dmitry的2号解决方案是唯一适合我的方案。

以下是它的Swift 4版本:

代码语言:javascript
复制
    func enableDND(){

        CFPreferencesSetValue("dndStart" as CFString, CGFloat(0) as CFPropertyList, "com.apple.notificationcenterui" as CFString, kCFPreferencesCurrentUser, kCFPreferencesCurrentHost)

        CFPreferencesSetValue("dndEnd" as CFString, CGFloat(1440) as CFPropertyList, "com.apple.notificationcenterui" as CFString, kCFPreferencesCurrentUser, kCFPreferencesCurrentHost)

        CFPreferencesSetValue("doNotDisturb" as CFString, true as CFPropertyList, "com.apple.notificationcenterui" as CFString, kCFPreferencesCurrentUser, kCFPreferencesCurrentHost)


        commitDNDChanges()
    }

    func disableDND(){
        CFPreferencesSetValue("dndStart" as CFString, nil, "com.apple.notificationcenterui" as CFString, kCFPreferencesCurrentUser, kCFPreferencesCurrentHost)

        CFPreferencesSetValue("dndEnd" as CFString, nil, "com.apple.notificationcenterui" as CFString, kCFPreferencesCurrentUser, kCFPreferencesCurrentHost)

        CFPreferencesSetValue("doNotDisturb" as CFString, false as CFPropertyList, "com.apple.notificationcenterui" as CFString, kCFPreferencesCurrentUser, kCFPreferencesCurrentHost)
        commitDNDChanges()
    }

    func commitDNDChanges(){
        CFPreferencesSynchronize("com.apple.notificationcenterui" as CFString, kCFPreferencesCurrentUser, kCFPreferencesCurrentHost)
        DistributedNotificationCenter.default().postNotificationName(NSNotification.Name(rawValue: "com.apple.notificationcenterui.dndprefs_changed"), object: nil, userInfo: nil, deliverImmediately: true)
    }
票数 14
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25210120

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档