gpt4 book ai didi

macos - 如何获得驱动器已开机的通知?

转载 作者:行者123 更新时间:2023-12-03 17:39:40 24 4
gpt4 key购买 nike

我在 OS X 上遇到问题,如果在关闭电源时插入驱动器,然后再打开电源,我不会收到新磁盘出现的通知。如果我插入已通电的驱动器,我确实会收到通知。

目前,我正在通过磁盘仲裁注册磁盘出现、消失或描述更改时的回调(DARegisterDiskAppearedCallback 等)。我没有看到任何其他可能涵盖驱动器打开情况的回调。

当已插入的硬盘启动时,我如何收到通知?

最佳答案

NSWorkspace 在安装磁盘时提供通知 NSWorkspaceDidMountNotification。在大纲中,您声明一个通知处理程序,例如:

- (void) mountNotify:(NSNotification *)notification
{
// extract details from notification
NSDictionary *userInfo = notification.userInfo;
NSString *volumeMounted = userInfo[@"NSDevicePath"];
NSString *volumeDisplayName = userInfo[@"NSWorkspaceVolumeLocalizedNameKey"];

if (volumeMounted != nil)
{
// volume has been mounted
}
}

并注册通知:

[[[NSWorkspace sharedWorkspace] notificationCenter]
addObserver:self
selector:@selector(mountNotify:)
name:NSWorkspaceDidMountNotification
object:nil
];

还有一个类似的通知,NSWorkspaceDidUnmountNotification,用于卸载磁盘时。

有关更多详细信息,请参阅 Apple 的 NSWorkspace documentation .

HTH。

关于macos - 如何获得驱动器已开机的通知?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21869738/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com