我需要制作一个可以从usb设备运行的mac应用程序。该应用程序是一个产品演示应用程序。我需要检查是否存在某个目录,以便定义我可以显示的产品类别。如果类别的目录未退出,则不会显示该类别。然后我必须检查每个类别目录中的所有jpg文件并存储它们,以便在用户选择时显示它们。
我的问题是我不知道如何从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身份复制)。
任何帮助将不胜感激! 提前谢谢!
答案 0 :(得分:3)
NSString *usbRootPath = [fileManager currentDirectoryPath];
此代码检索进程的当前工作目录。这与您的应用程序所在的目录不同;在大多数情况下,它将是系统根目录(正如您已发现的那样)。 USB设备的路径应为/Volumes/devicename
。
要查找应用程序的路径,请使用:
NSString *applicationPath = [[NSBundle mainBundle] bundlePath];
然后取出父目录(如果适用)并从那里开始工作。
答案 1 :(得分:0)
可以在/ Volumes中找到所有已安装的卷。如果确保USB驱动器具有指定的名称,则可以在/ Volumes中查找“myUSBDriveName”,然后从那里继续。