快速用户切换隐藏CALayer

ilo*_*aly 6 cocoa core-animation calayer

我有一个GUI可可应用程序,当计算机从睡眠中唤醒时自动启动.应用程序同时在多个用户帐户中运行,并且有时在用户帐户中启动,该用户帐户不是屏幕上显示的当前用户(即活动控制台用户).这就是出现问题的地方.

我有一个自定义视图,用于CALayer显示几个不同图像的组合.NSView的CALayer包含两个子层,其中一个子层也包含两个子层.当用户在活动用户的帐户中启动应用程序时,没有问题.当应用程序由非活动用户帐户中的自动脚本启动时,自定义NSView不会绘制任何CALayer.我在应用程序中注入了F-Script而没有绘制CALayer,并注意到自定义NSView layer不包含任何内容sublayers!请注意,图层设置代码包含在-awakeFromNib自定义NSView中.我尝试-awakeFromNib在自定义NSView没有绘制时手动调用它并修复了问题(虽然它确实设置sublayers正确).

我搜索网,发现比特的信息:

在OS X v.10.4及更高版本中,如果用户使用快速用户切换,则会自动停止显示链接线程.切换回原始用户时重新启动显示链接.

我知道我的问题与没有引用活动屏幕的用户有关(一个'好的'CGContext引用?)但我没有收到任何错误消息,也没有Quartz/Core Animation经验指向我在正确的方向.

提前谢谢你的帮助!