为什么我手动创建的NSApp没有图标,接收不到键盘相应?
那是因为没有设置ActivationPolicy(显示策略)
[NSApp setActivationPolicy:NSApplicationActivationPolicyRegular];
ActivationPolicy(应用显示策略)
一共有三种应用显示策略
1、NSApplicationActivationPolicyRegular 正规的
这种方式在使用 Info.plist 捆绑开发(bundled apps) 时是默认的选项。
效果: 任务栏(Dock) 上会显示应用的图标,菜单栏(menu bar)上会显示菜单等等所有正常操作。
可以被激活(接受键盘相应、接受鼠标相应)
2、NSApplicationActivationPolicyAccessory 辅助的
没有任务栏(Dock)上的图标,没有菜单栏(menu bar)
可以被激活(接受键盘相应、接受鼠标相应)
在Info.plist中通过 LSUIElement=1 设置成该显示策略
3、NSApplicationActivationPolicyProhibited 禁止的
这种方式在 "生肉"开发(unbundled apps) 时是默认的选项。
没有任务栏(Dock)上的图标,没有菜单栏(menu bar),可能没有窗口(Window),有窗口该窗口也不会被激活。
不可以被激活(不接受键盘相应、接受鼠标相应)