gpt4 book ai didi

objective-c - 为什么全新的 Mac 不显示我的屏幕保护程序?

转载 作者:IT王子 更新时间:2023-10-29 05:53:47 24 4
gpt4 key购买 nike

我们写了一个应用程序,Screensaver Ninja ,它通过将屏幕保护程序复制到 ~/Library/Screen Savers 来为用户安装屏幕保护程序。这在我的机器和其他开发人员的机器上工作正常,但在我的测试机器上,文件就在那里,如果我让屏幕保护程序激活,它会选择它,但它没有出现在列表中:

enter image description here

这是我们用来安装它的代码:

func install() {
var err: NSError?
fileManager.copyItemAtURL(saverPackageUrl!, toURL: screensaversUrl!.URLByAppendingPathComponent("Ninja.saver"), error: &err)
if err != nil {
NSLog("Error installing Screensaver Ninja: \(err)")
}
}

这就是我们选择它作为默认值的方式:

func setAsDefault() {
var mutable: NSMutableDictionary
if let moduleDict = CFPreferencesCopyAppValue("moduleDict", "com.apple.screensaver") as? NSDictionary {
mutable = moduleDict.mutableCopy() as NSMutableDictionary
} else {
mutable = NSMutableDictionary()
}
mutable.removeObjectForKey("displayName")
mutable["moduleName"] = "Ninja"
mutable["path"] = saverPath
mutable["type"] = 0
CFPreferencesSetValue("moduleDict", mutable as CFPropertyList, "com.apple.screensaver", kCFPreferencesCurrentUser, kCFPreferencesCurrentHost)
CFPreferencesAppSynchronize("com.apple.screensaver")
}

这是运行该代码后它在我自己的机器上的样子(我所期望的):

enter image description here

知道为什么它不能在原始 Mac 上运行吗?

最佳答案

测试用户(他们可以是非管理员吗?)的权限与您和其他开发人员(我打赌是管理员或 root)的权限是什么?

使用 chmod 777 文件名可能会修复它。

关于objective-c - 为什么全新的 Mac 不显示我的屏幕保护程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29375013/

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