示例菜单栏应用程序是一个代理,因为它的 LSUIElement 为 TRUE。 我想防止在某些情况下注销。
我尝试使用 - (NSApplicationTerminateReply)applicationShouldTerminate:(NSApplication *)sender。 但当用户注销时我从未收到此消息。
但是如果没有 ,我也可以防止注销。
需要替代解决方案以防止注销。
最佳答案
不要在 plist 中使用 LSUIElement。相反,在启动时使用:
[NSApp setActivationPolicy:NSApplicationActivationPolicyAccessory];
我验证了 applicationShouldTerminate: 实际上在这样做时被调用。
关于cocoa - 如何防止以代理身份运行的应用程序注销,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23286351/