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

objective-c – 为什么新Mac不显示我的屏幕保护程序?,第1张

概述我们编写了一个应用程序 Screensaver Ninja,它通过将屏幕保护程序复制到〜/ Library / Screen Savers来为用户安装屏幕保护程序.这在我的机器和其他开发人员的机器上工作正常,但在我有的测试机器中,文件在那里,如果我让屏幕保护程序激活,它会选择它,但它不会出现在列表中: 这是我们用来安装它的代码: func install() { var err: NSEr 我们编写了一个应用程序 Screensaver Ninja,它通过将屏幕保护程序复制到〜/ library / Screen Savers来为用户安装屏幕保护程序.这在我的机器和其他开发人员的机器上工作正常,但在我有的测试机器中,文件在那里,如果我让屏幕保护程序激活,它会选择它,但它不会出现在列表中:

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

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 mu@R_301_5991@: NSMu@R_301_5991@Dictionary    if let moduleDict = CFPreferencescopyAppValue("moduleDict","com.apple.screensaver") as? NSDictionary {        mu@R_301_5991@ = moduleDict.mu@R_301_5991@@R_404_5214@ as NSMu@R_301_5991@Dictionary    } else {        mu@R_301_5991@ = NSMu@R_301_5991@Dictionary()    }    mu@[email protected]("displayname")    mu@R_301_5991@["modulename"] = "Ninja"    mu@R_301_5991@["path"] = saverPath    mu@R_301_5991@["type"] = 0    CFPreferencesSetValue("moduleDict",mu@R_301_5991@ as CFPropertyList,"com.apple.screensaver",kcfPreferencesCurrentUser,kcfPreferencesCurrentHost)    CFPreferencesAppSynchronize("com.apple.screensaver")}

这是它在运行该代码后在我自己的机器中看起来的样子(我的预期):

任何想法为什么它不适用于原始的mac?

解决方法 对于您和其他开发人员(我打赌管理员或root用户),测试用户(可能是非管理员?)的权限是什么?

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

总结

以上是内存溢出为你收集整理的objective-c – 为什么新Mac不显示我的屏幕保护程序?全部内容,希望文章能够帮你解决objective-c – 为什么新Mac不显示我的屏幕保护程序?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1024016.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-23
下一篇 2022-05-23

发表评论

登录后才能评论

评论列表(0条)

保存