Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/105.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 目标C文档目录在设备上不断更改_Ios_Xcode_Directory_Documents - Fatal编程技术网

Ios 目标C文档目录在设备上不断更改

Ios 目标C文档目录在设备上不断更改,ios,xcode,directory,documents,Ios,Xcode,Directory,Documents,我从一开始就在为iOS开发,现在遇到了一些麻烦。我开始制作一个需要创建文件并将其保存到documents文件夹和应用程序支持的应用程序,但是使用 NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentsDirectory, NSUserDomainMask, YES); NSString *filePath = paths[0]; 不起作用。每次启动应用程序时,它都会显示不同的文件路径 我在谷歌上搜索过这个问题,到目前为止

我从一开始就在为iOS开发,现在遇到了一些麻烦。我开始制作一个需要创建文件并将其保存到documents文件夹和应用程序支持的应用程序,但是使用

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentsDirectory, NSUserDomainMask, YES);
NSString *filePath = paths[0];
不起作用。每次启动应用程序时,它都会显示不同的文件路径

我在谷歌上搜索过这个问题,到目前为止,每个人似乎都说他们在模拟器上有这个问题。然而,这并不是一个仅限于模拟器的问题,每次启动应用程序时,它都会发生在设备上,无论您是否从Xcode运行它。 其他搜索结果只是告诉我做这件事的老方法和/或来自太多年前

有人知道当前写入文档和应用程序支持文件夹的方式吗? 使用iOS SDK8.1从Xcode 6.1编译时出现问题,该版本在iOS7.1和iOS8.1上都运行


如果您将路径存储在永久性存储中,并打算在将来某个日期使用该路径,您应该只存储相对于应用程序文档文件夹的路径,然后在需要访问该资源时,在运行时获取Documents文件夹路径,并附加资源的相对路径


另外,我只在通过Xcode运行我的应用程序时看到沙盒路径行为的变化。如果我直接从设备运行应用程序,则路径不变。无论如何,我总是倾向于使用相对路径而不是固定路径。我决不会假设沙盒路径不会更改(例如,如果以后备份并还原了应用程序,我也不会假设路径不变)。

您发布的代码是正确的。路径是否一直在改变并不重要。是的,这是因为我无法将我写入文档folderTrue的文件获取为真。我认为上面的代码是为了得到正确的文件夹。我没有将绝对路径存储在任何位置,并且无论我是否在设备上运行Xcode,都会发生这种路径更改。如果您没有将路径存储在任何位置,那么我不理解为什么您关心路径是否更改,只要文件仍然存在。当我将文件保存到文档,然后从Xcode再次运行它时,路径不同,但文件仍然存在。如果找不到文件,请首先确保文件已成功保存。重新加载应用程序时,文件不在那里,这就是我感到困惑的原因。当我去保存文件时,我用NSFileManager的fileExistsAtPath:isDirectory:检查文件是否存在,并且文件是否存在,而不是目录。当应用程序仍然打开时,我也会这样做,并且该文件存在并且不是目录。当我重新加载应用程序时,文件根本不存在。如果文件在两次加载之间保持不变,那也没问题,但事实并非如此,尽管它说它保存了正确的Lyoh。我明白问题所在。代码在启动时意外删除了该文件。抱歉浪费大家的时间。@Hayden我也面临同样的问题。你能建议我如何解决这个问题吗