Eri*_*rik 10 macos cocoa objective-c
使用Objective-C,如何以编程方式检查OS X上系统"请勿打扰"设置的状态?我使用黑客或私有API很好,因为我不需要提交到Mac App Store.
您可以(并且应该)简单地使用UserDefaults:
let theDefaults = UserDefaults(suiteName: "com.apple.notificationcenterui")
print(theDefaults?.bool(forKey: "doNotDisturb"))
Run Code Online (Sandbox Code Playgroud)
这个答案描述了如何使用命令行读取和写入“请勿打扰”的状态。
\n\n请注意,文件名包含您的 Mac 的硬件 UUID。为简单起见,它是下面代码中的常量。您可以使用内置的系统信息应用程序来计算它。\n还有不同的方法可以通过编程方式获取它,例如我还没有尝试过\xe2\x80\x99t。
\n\n使用Swift ,可以如下读取plist文件的内容:NSDictionary
import Foundation\n\n// Get path to file\nlet uuid = "00000000-0000-0000-0000-000000000000"\nlet filepath = "~/Library/Preferences/ByHost/com.apple.notificationcenterui.\\(uuid).plist".stringByExpandingTildeInPath\n\n// Load file as `NSDictionary`\nif let dict = NSDictionary(contentsOfFile: filepath) {\n\n // Get state of Do Not Disturb\n let doNotDisturbState = dict["doNotDisturb"] as? Bool\n println(doNotDisturbState)\n}\n
Run Code Online (Sandbox Code Playgroud)\n\n当我测试它时,有时需要几秒钟的时间才能更新plist文件的内容,因此您不会在更改后立即获得新状态。
\n 归档时间: |
|
查看次数: |
2213 次 |
最近记录: |