【发布时间】:2014-12-21 17:12:30
【问题描述】:
我的应用在 iOS 7 中运行良好,但现在我在切换到 iOS 8 SDK 后遇到了一些新错误。
例如。 [NSFileManager defaultManager] 文件存在检查方法 (fileExistsAtPath:) 不再有效。这是我的代码中有关当前情况的详细信息:
-
这是条件永远不会变成
True的代码块:File *tempFile = currentMessage.contains; NSString *address = tempFile.thumbAddress; if ([[NSFileManager defaultManager] fileExistsAtPath:currentMessage.contains.thumbAddress]) { image = [UIImage imageWithContentsOfFile:currentMessage.contains.thumbAddress]; } -
我在 if 之前放了一个断点并跟踪它以查看包含的内容:
Printing description of address: /Users/Unkn0wn/Library/Developer/CoreSimulator/Devices/C07E1D76-372E-4C9A-8749-50D369294FBA/data/Containers/Data/Application/1DC7DB3A-B0A2-43AE-9EDA-3E121786D1AA/Documents/FileAt141406917489510096thumbnail.jpg 我已经检查了 Finder 以查看文件是否确实存在(地址是从控制台复制的,因此在检查路径和文件是否存在时不会出现输入错误和拼写错误):
但是if 块没有被执行,因为fileExistsAtPath: 返回NO。
是我遗漏了什么还是只是新 SDK 的一个错误? (因为它与 SDK 7.1.1 完美配合)
非常感谢任何建议。
谢谢
【问题讨论】:
-
尝试在不检查
fileExistsAtPath:的情况下调用[NSData dataWithContentsOfFile:address];,你会得到nil还是你的图像数据?如果你得到nil,你可能有一个不正确的路径。
标签: ios iphone ios8 nsfilemanager file-exists