gpt4 book ai didi

macos - SMCopyAllJobDictionaries 和 SMJobCopyDictionary 已弃用,那么它们的替代品是什么?

转载 作者:行者123 更新时间:2023-12-04 02:30:03 25 4
gpt4 key购买 nike

我用 SMCopyAllJobDictionariesSMJobCopyDictionary检查应用程序是否是 Mac 中的登录项,但在 10.10 中,它们已被弃用。那么他们官方推荐的替代品是什么?

最佳答案

你不需要更换。只需使用 SMLoginItemSetEnabled ,如果成功,将值存入NSUserDefaults .每次应用启动时,调用SMLoginItemSetEnabled使用您的 NSUserDefaults 中的存储值检查是否有变化。如果返回 false , 相应地设置您的用户默认值,否则状态仍然是您之前在 NSUserDefaults 中记住的状态.

示例:

import Foundation
import ServiceManagement

final class LoginItem {

let identifier: String

private let nc = NSUserDefaults.standardUserDefaults()

init(identifier: String) {
self.identifier = identifier
}

var enabled: Bool {
return nc.boolForKey(defaultKey)
}

func setEnabled(enabled: Bool) -> Bool {
if SMLoginItemSetEnabled(identifier, enabled) {
nc.setBool(enabled, forKey: defaultKey)
return true
}
return false
}

func validate() -> Bool {
if setEnabled(enabled) {
return true
}
nc.removeObjectForKey(defaultKey)
return false
}

private var defaultKey: String {
return "SMLoginItem-" + identifier
}
}

只需调用 validate在启动时验证开/关状态。

关于macos - SMCopyAllJobDictionaries 和 SMJobCopyDictionary 已弃用,那么它们的替代品是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32546893/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com