2

Gyazo アプリに通知を追加したかっただけです。最終的に通知センターに通知を送信できるようになりましたhttp://korniltsev.ru/p/jz6m3Nm.png ただし、クリックしてアプリを起動しないと、奇妙な方法で起動します:空のウィンドウが表示されます( visibleAtLaunch を 0 に設定すると、何も起こりません。http://korniltsev.ru/p/jz6mvk0.png

私が使用しようとしているコードはここにあります:

- (void)applicationDidFinishLaunching:(NSNotification *)aNotification {

    NSUserNotification * clicked = [[aNotification userInfo]
            objectForKey:NSApplicationLaunchUserNotificationKey];
    if (clicked){
        [NSApp terminate:self];
        return;
    }
...

このような通知を送信します

NSUserNotificationCenter *manager = [NSUserNotificationCenter defaultUserNotificationCenter];
NSUserNotification *urlNotification = [[NSUserNotification alloc]init];
[urlNotification setTitle:appName];
[urlNotification setInformativeText:url];
[manager deliverNotification:urlNotification];

私は何を間違っていますか?

4

1 に答える 1

1

[NSApp terminate:self]多くの副作用があります。これらの副作用が空白のウィンドウを作成していないことを確認しますか?[NSApp terminate:self]すぐに電話をかけapplicationDidFinishLaunchingて、すべての場合にアプリケーションが正常に終了することを確認してみましたか?そうでない場合は、アプリケーションのドキュメントコントローラー(ある場合)で何をしているかを確認する必要がありapplicationShouldTerminateます。

于 2012-07-29T21:56:16.807 に答える