在Cocoa中查找插入CD的名称

时间:2010-06-04 19:44:21

标签: cocoa xcode macos mount cd

我有一个书签描述了如何执行此操作的过程 - 在OS X中查找已安装CD的名称 - 但是当我重新格式化Mac时我删除了书签。 :P

阅读这个主题,这是我认为可行的。基本上,我需要在继续申请之前验证是否安装了特定的CD

  1. 访问NSWorkspace
  2. 执行'checkForRemovableMedia'
  3. 从'mountedRemoveableMedia'
  4. 抓取已安装媒体路径的数组
  5. 运行已安装的媒体路径数组,以查找包含目标光盘名称的路径
  6. 无论如何,这是我想出的可能的解决方案。其他人在可可的这个领域有任何其他想法/知识吗?建议:)

    编辑: 我在下面制作了这段代码,但是没有用。它创建了一个包含NSCFStrings的NSCFArray,我读过它并且不应该这样做。

     NSArray *mountedItems = [[NSWorkspace sharedWorkspace] mountedRemovableMedia];
    
     int count = [mountedItems count];
     int i = 0;
    
        for (i = 0; i < count; i++) {
             //line is not printing.  contains NSCFArray and NSCFStrings
                [NSLog print:[[mountedItems objectAtIndex:i] stringValue]];
     }
    

1 个答案:

答案 0 :(得分:1)

好的,所以我是个白痴。

[[NSWorkspace sharedWorkspace] checkForRemovableMedia];
NSArray *mountedItems = [[NSWorkspace sharedWorkspace] mountedRemovableMedia];

NSUInteger count = [mountedItems count];
NSUInteger i = 0;
for (i = 0; i < count; i++) {
    NSString *tempString = [mountedItems objectAtIndex:i];
    NSLog(@"%@",tempString);
}

我不仅错误地使用NSLog,而且甚至没有意识到在字符串上调用'stringValue'可能是多余的。还有什么导致代码破坏。 :P

现在有效;我还添加了'checkForRemovableMedia'作为额外的预防措施。