gpt4 book ai didi

ios - 文件存在于路径 : Does Not Return Correct Value in iOS 8 SDK

转载 作者:可可西里 更新时间:2023-11-01 17:06:34 27 4
gpt4 key购买 nike

我的应用程序在 iOS 7 中运行良好,现在我在切换到 iOS 8 SDK 后遇到了一些新错误。

例如。 [NSFileManager defaultManager] 文件存在检查方法 (fileExistsAtPath:) 不再有效。以下是我的代码中有关当前情况的详细信息:

  1. 这是一个代码块,它的条件永远不会变成True:

    File *tempFile = currentMessage.contains;
    NSString *address = tempFile.thumbAddress;

    if ([[NSFileManager defaultManager] fileExistsAtPath:currentMessage.contains.thumbAddress])
    {
    image = [UIImage imageWithContentsOfFile:currentMessage.contains.thumbAddress];
    }
  2. 我在 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
  3. 我已经检查了 Finder 以查看文件是否确实存在(地址是从控制台复制的,因此在检查路径和文件是否存在时不会出现打字错误):

enter image description here

但是 if block 没有执行,因为 fileExistsAtPath: 返回 NO

我是否遗漏了什么,或者这只是新 SDK 的一个错误? (因为它与 SDK 7.1.1 完美配合)

非常感谢任何建议。

谢谢

最佳答案

如果 thumbAddress 是完整路径(不是相对路径),当应用更新时它可能会导致错误,因为应用文件夹发生变化,例如,您的应用的第一个版本可能位于那条路:

/Users/Unkn0wn/Library/Developer/.../Application/ABCD/

当您更新应用程序时,目录会发生变化,例如:

/Users/Unkn0wn/Library/Developer/.../Application/EFGH/

因此,如果您在应用程序的第一个版本中为图像保存完整路径,例如:

ABCD/yourImage.jpg

并尝试使用新版本的应用程序检索此图片,将不再找到此图片,因为您的图片现在位于以下路径:

EFGH/yourImage.jpg

希望对您有所帮助!


编辑

可能你的绝对路径不对。尝试用相对路径调用它:

NSString *path = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES)[0];
path = [path stringByAppendingString:@"FileAt141406917489510096thumbnail.jpg"];

NSData *imageData = [NSData dataWithContentsOfFile:path]; // Should be != nil

关于ios - 文件存在于路径 : Does Not Return Correct Value in iOS 8 SDK,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26572067/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com