1
これを再現する簡単な方法 (ML、Xcode 441):
- 新しい Cocoa アプリケーション (すべてのプロジェクト オプションは「オフ」)
- 「ロール > ビューアー」および「拡張機能 > *」を使用してドキュメント タイプを
追加します - 次のコードを appDelegate に追加します:

- (BOOL)application:(NSApplication *)sender openFile:(NSString *)path
{
    NSLog(@"%@", path);
    return YES;
}
> "実行" ... -> クイック起動時間、およびウィンドウがすぐに表示されます。
> アイコンにファイルをドラッグしてアプリを起動します... -> クイック起動 (-applicationDidFinishLaunching:) ですが、ウィンドウが表示されるまでに約 5 秒かかります!

この 5 秒間に何が起こるでしょうか。

簡単な回避策は次のようになります。

- (void)applicationDidFinishLaunching:(NSNotification *)aNotification
{
    [_window makeKeyAndOrderFront:self];
}
アイコンにファイルをドラッグしてアプリを起動しても、ウィンドウがすぐに表示されるようになりました。
ただし、この回避策で解決できない問題が他にもあります。

- MainMenu.xib でウィンドウを [全画面表示] > [プライマリ ウィンドウ]

> [ビルド] に設定

し、ファイルをアイコンにドラッグしてアプリを起動し、5 秒待ってから入力します。 「全画面表示」モード -> 問題なし、再描画の問題なし (「全画面表示」を終了、終了)

> アイコンにファイルをドラッグしてアプリを起動、すぐに「全画面表示」モードに入る -> 表示の問題: ありリネンの背景はありませんが、代わりにフルスクリーン状態のウィンドウがズーム アニメーションの背景として表示されます!? (「フルスクリーン」のまま、終了)

> ダブルクリックでアプリを起動 -> 問題なくアプリは「フルスクリーン」モードに戻ります (「フルスクリーン」のままで終了します)

> アイコンにファイルをドラッグしてアプリを起動します -> アプリウィンドウがフルスクリーンになります-state (-windowDidEnterFullScreen:) ですが、「スペース変更」がないため、フルスクリーン ウィンドウは表示されません。また、このスペースにすぐに切り替えることはできません (たとえば、App-Icon をクリックするなど)。これを行うには、5 秒間待つ必要があります。

つまり、これらのフルスクリーンの問題でさえ、最初に見た 5 秒の遅延と関係があるようです!?


これは Mountain Lion のバグですか (Lion ではこのようには発生しないようです)、それとも予想される動作ですか? 本当に明らかな何かが欠けていますか?回避策はありますか?
アプリの起動時でも、アプリが確実にフルスクリーン モードに入る必要があります。これを達成する方法はありますか?

どうもありがとう!
4

0 に答える 0