Ich habe eine OS X-Anwendung, die auf ein Volume antworten muss, das gemountet oder ausgehängt wird.
Ich habe dieses Problem bereits gelöst, indem ich regelmäßig die Liste der Volumes abruft und nach Änderungen suche, aber ich würde gerne wissen, ob es einen besseren Weg gibt.
Registrieren Sie sich bei der Benachrichtigungszentrale, die Sie von [[NSWorkspace sharedWorkspace] notificationCenter]
erhalten, und bearbeiten Sie dann die Benachrichtigungen, an denen Sie interessiert sind. Dies sind die volumenbezogenen: NSWorkspaceDidRenameVolumeNotification
, NSWorkspaceDidMountNotification
, NSWorkspaceWillUnmountNotification
und NSWorkspaceDidUnmountNotification
.
Schnelle 4 Version:
Deklarieren Sie NSWorkspace in applicationDidFinishLaunching und fügen Sie Beobachter für das Einhängen und Unmounten von Ereignissen hinzu.
%Vor%Erfassung von Mount- und Unmount-Ereignissen in:
%Vor%Es wird der Gerätepfad z. B. / Volumes / EOS_DIGITAL gedruckt Hier sind die Konstanten, die Sie von userInfo lesen können.
%Vor%Tags und Links objective-c macos cocoa volumes