Objective c 如何处理山狮通知

Objective c 如何处理山狮通知,objective-c,macos,notifications,osx-mountain-lion,Objective C,Macos,Notifications,Osx Mountain Lion,我只是想给Gyazo应用程序添加一些通知。 我终于能够向通知中心发送通知了 但是,当我点击它时,应用程序没有启动,它会以某种奇怪的方式启动: 它显示空窗口(即使我将其VisibleTLaunch设置为0),但什么也没有发生 我尝试使用的代码如下: - (void)applicationDidFinishLaunching:(NSNotification *)aNotification { NSUserNotification * clicked = [[aNotification us

我只是想给Gyazo应用程序添加一些通知。 我终于能够向通知中心发送通知了 但是,当我点击它时,应用程序没有启动,它会以某种奇怪的方式启动: 它显示空窗口(即使我将其VisibleTLaunch设置为0),但什么也没有发生

我尝试使用的代码如下:

- (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];

我做错了什么?

[NSApp terminate:self]
有很多副作用。您确定这些副作用不会创建空白窗口吗?您是否尝试过在
applicationdFinishLaunching
中立即调用
[NSApp terminate:self]
,并确保您的应用程序在任何情况下都完全退出?如果没有,您可能必须查看您在应用程序的文档控制器(如果您有)中正在执行的操作,如果我调用
[NSApp terminate:self]
,则
应用程序应该终止。如果我在退出(0)
时更改terminate call,则结果相同。我没有文件控制器。