1

一般来说,我对 Mac 平台和 Objective-C 非常陌生,在我的应用程序中,我想知道如何确定用户正在注销并在此之前执行一些操作。任何信息或指针?

4

2 回答 2

2

在这些 Apple 文档Customizing Login and LogoutTech Note 2228中描述了在登录/注销时挂上钩子的官方方法。但是恐怕不再直接支持注销挂钩。

因此,第二个最好的方法是运行一个无头 Cocoa 应用程序,并使用 接收来自系统的通知NSWorkspace,请参阅文档可用通知列表

要制作一个无头 Cocoa 应用程序,您需要在其Info.plist被调用中设置一个条目LSUIElement,请参见此处。通过设置LSUIElement为yes,应用程序不会出现在dock中,而是在后台执行各种操作。

于 2010-04-15T20:39:03.623 回答
1

查看此 Workspace Services 文档中的 Receiving Workspace Notifications 。

NSWorkspaceWillPowerOffNotification

当用户请求注销或机器关闭时发布。

于 2010-04-15T20:32:07.567 回答