6

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

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

我在网上搜索了一下,发现了这么一条信息:

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

我知道我的问题与用户没有对活动屏幕的引用有关(“好的”CGContext 引用?)但我没有收到任何错误消息并且没有 Quartz / Core Animation 经验来指向我在正确的方向。

提前感谢您的帮助!

4

0 回答 0