在iOS 6中无法从文档库访问图像?

在iOS 6中无法从文档库访问图像?,ios,Ios,我必须在iOS 6中访问文档库中的图像 strImgSign = [NSString stringWithFormat:@"%@/Documents//%@", NSHomeDirectory(),strImgSign]; NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); NSString *basePath = ([paths count]

我必须在iOS 6中访问文档库中的图像

strImgSign = [NSString stringWithFormat:@"%@/Documents//%@", NSHomeDirectory(),strImgSign];

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
    NSString *basePath = ([paths count] > 0) ? [paths objectAtIndex:0] : nil;
    NSString *strImgSign = [[arrNameFinal objectAtIndex:indexPath.row] objectForKey:@"signimage"];
    /var/mobile/Applications/D912ACC0-5B23-49B2-B9F1-E45ECD713553/Documents//docSign6167Feb13,2015-12.03.26.png
但iOS 7,8中的图像访问功能非常有效。

在您的路径中有一个额外的/

strImgSign = [NSString stringWithFormat:@"%@/Documents//%@", NSHomeDirectory(),strImgSign];
改为:

strImgSign = [NSString stringWithFormat:@"%@/Documents/%@", NSHomeDirectory(),strImgSign];
但正如@rckoenes所提到的,这不是构建文件系统路径的正确方法。如果图像位于文档目录中,则可以使用:

NSString *docDirectory  = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0];
NSString *yourImagePath = [docDirectory stringByAppendingPathComponent:strImgSign];

但是我不确定它在iOS 7和iOS 8中是如何工作的

您不应该从NSHoneDirectory构建目录或在字符串中使用路径分隔符

建立目录的正确方法:

NSString *imagePath = [NSHomeDirectory() stringByAppendingPathComponent:@"Documents"];
imagePath = [imagePath stringByAppendingPathComponent:strImgSign];
但更好、唯一正确的方法是使用正确的目录:

NSString *documentPath =[NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) firstObject];
NSString *imagePath = [documentPath stringByAppendingPathComponent:strImgSign];

NSString*文件名=[filepart lastObject]; NSArray*path=nsSearchPathForDirectoriesIndomainsDocumentDirectory,NSUserDomainMask,是; NSString documentsDirectory=[paths objectAtIndex:0]; NSString inboxPath=[DocumentsDirectoryStringByAppendingPathComponent:@Inbox];
NSString*filePath=[inboxPath stringByAppendingPathComponent:filename]

如果确实不想像这样构建路径,请使用stringByAppendingPathComponent:。您不应该使用正确的方法来获取文档目录。@rckoenes:我刚才使用了OP的代码。我将用正确的方法编辑我的答案。不起作用,但我必须使用@docsign6167feb132015-12.03.26.png它起作用,但NSString*strImgSign=[[arrNameFinal objectAtIndex:indexath.row]objectForKey:@signimage]不起作用。你说不起作用是什么意思?获取文档目录路径的代码是正确的。stringByAppendingPathComponent:是将文件添加到路径的正确方法。我的答案中的代码是正确的,请列出imagePath变量的输出。发布您的代码、错误以及其他错误。仅仅说它不起作用并不能告诉我们任何事情。如果您需要帮助,您需要告诉我您正在做什么,出了什么问题,以及您做了什么来修复它。iOS 6中的问题是: