我只是想向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];
我做错了什么?
答案 0 :(得分:1)
[NSApp terminate:self]
有很多副作用。你确定这些副作用没有创建空白窗口吗?您是否尝试过立即在[NSApp terminate:self]
中调用applicationDidFinishLaunching
并确保应用程序在每种情况下都干净利落?如果不是,您可能不得不在应用程序的文档控制器(如果有的话)和applicationShouldTerminate
中查看您正在执行的操作。