2015-10-20 71 views
0

我需要制作一个mac应用程序,它将从USB设备运行。该应用程序是一款产品演示应用程序。我需要检查是否存在某个目录,以便定义我可以显示的产品类别。如果某个类别的目录没有退出,该类别将不会显示。然后,我必须检查每个类别目录中的所有jpg文件并将它们存储以便在用户选择时显示它们。Xcode OSX - 如何从usb中读取目录的内容

我的问题是,我不知道如何从USB设备访问文件。我以为我可以用上市这样的内容:

NSFileManager *fileManager = [[NSFIleManager alloc] init]; 
NSString *usbRootPath = [fileManager currentDirectoryPath]; 
// Reading the root content 
NSArray *fileList = [fileManager contentAtDirectoryAtPath:usbRootPath error:NULL]; 
// Printing the content 
for(int counter=0; counter < [fileList count]; counter++) 
     NSLog(@"%@", [fileList objectAtIndex:counter]); 

的usbRootPath(后我构建应用程序,并将其复制在USB)是“/”,内容列表包含所有从系统驱动器的目录/文件。

如何读取/验证位于USB驱动器上的文件/目录/内容(我的应用程序正在以root身份复制)。

任何帮助将不胜感激! 在此先感谢!

回答

3
NSString *usbRootPath = [fileManager currentDirectoryPath]; 

此代码检索您的进程的当前工作目录。这与您的应用程序所在的目录不一样;在大多数情况下,它将成为系统根目录(正如你发现的那样)。 USB设备的路径应该是/Volumes/devicename

要查找路径到你的应用程序,使用:

NSString *applicationPath = [[NSBundle mainBundle] bundlePath]; 

然后取父目录(如适用)和工作从那里。

+0

非常感谢...你救了我......干杯! –

0

所有安装的卷可以在/卷中找到。如果你确定你的USB驱动器有一个指定的名字,你可以查看/卷“myUSBDriveName”,然后从那里下去。