2015-06-10 11 views
1

Мне нужно определить, когда том установлен в OS X, а также получить полный путь.Обнаружить установку громкости и получить ее путь

Я успешно реализовал код, который обнаруживает, когда установлен том, однако его путь - это то, с чем я все еще боюсь.

Код для обнаружения, когда объем установлен, выглядит так:

-(void) monitorVolumes 
{ 
    // Notification for Mountingthe USB device 

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

    // Notification for Un-Mountingthe USB device 

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

} 

-(void) onVolumeMount: (NSNotification*) notification 
{ 
    NSLog(@"Volume Mount"); 

    //Code to get path here... 
} 

-(void) onVolumeUnmount: (NSNotification*) notification 
{ 
    NSLog(@"Volume Unmount"); 
} 

Я теряюсь, как правильно получить путь.

Как это можно достичь?

ответ

2

В номере userInfo словаря, под ключ NSWorkspaceVolumeURLKey, вы найдете NSURL для тома. Если вам действительно нужна строка пути, вы можете задать NSURL за ее path.

NSString* path = [notification.userInfo[NSWorkspaceVolumeURLKey] path];