从Document目录获取文件路径 - Objective-c iOS

时间:2016-08-03 14:43:02

标签: ios objective-c file path

实际上,我依靠完整的文件路径来获取安全选项(因为我需要文件路径才能将其存储在钥匙串中)。这意味着当我重建应用程序时(或者当它发布到AppStore时会得到更新),由于文件路径中的包ID更改,这些功能会被破坏。

我已经想到了解决此问题的方法:只从Documents目录(/Documents/.../.../myFile.pdf)获取文件路径,而不是完整路径(/ var / mobile /。 .. / ...)。有没有办法做到这一点?

或者,我的问题还有其他解决办法吗?

提前致谢!

2 个答案:

答案 0 :(得分:3)

从文档目录中获取文件路径

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *getPath = [documentsDirectory stringByAppendingPathComponent:[NSString stringWithFormat:@"%@",strFileName]];

答案 1 :(得分:0)

感谢@Larme和@ user3182143,我找到了一个解决方案:获取文档路径并将文件路径拆分为2:文档目录之前的一部分

System.js

和另一部分

bundlePath = [documentsDirectory stringByDeletingLastPathComponent];

如果我需要完整的路径,我会通过

获得
documentsPath = [documentsDirectory lastPathComponent];
...
filepath = [documentsPath stringByApendingPathComponent:@"myFile.pdf"];