6

コンピューターがスリープから復帰したときに自動的に開始される GUI ココア アプリケーションがあります。アプリケーションは同時に複数のユーザー アカウントで実行され、画面に表示されている現在のユーザー (つまり、アクティブなコンソール ユーザー) ではないユーザー アカウントで起動されることがあります。ここで問題が発生します。

CALayerいくつかの異なる画像の構成を表示するために使用するカスタム ビューがあります。NSView の CALayer には 2 つのサブレイヤーが含まれ、そのうちの 1 つに 2 つのサブレイヤーも含まれます。ユーザーがアクティブなユーザーのアカウントでアプリケーションを起動した場合、問題はありません。アクティブでないユーザーのアカウントで自動化されたスクリプトによってアプリケーションが起動されると、カスタム NSView は CALayer をまったく描画しません。layerアプリが CALayer を描画していないときに F-Script をアプリに挿入したところ、カスタム NSView にsublayers! レイヤー設定コードは-awakeFromNib、カスタム NSView の に含まれていることに注意してください。-awakeFromNibカスタム NSView が描画されていないときに手動で呼び出してみたところ、問題が修正されました (ただし、sublayers正しく設定されました)。

私はネットを検索し、この情報を見つけまし

OS X v.10.4 以降では、ユーザーがユーザーの簡易切り替えを使用すると、ディスプレイ リンク スレッドが自動的に停止します。元のユーザーに戻ると、表示リンクが再開されます。

私の問題は、ユーザーがアクティブな画面への参照を持っていないことと関係があることを知っています (「良い」 CGContext 参照?) が、エラーメッセージを受け取っておらず、Quartz / Core Animation の経験がありません。正しい方向に。

助けてくれてありがとう!

4

0 に答える 0