iOS 7 从文档中检索收件箱目录

Posted

技术标签:

【中文标题】iOS 7 从文档中检索收件箱目录【英文标题】:iOS 7 retrieve Inbox directory from documents 【发布时间】:2014-04-08 15:15:37 【问题描述】:

我想创建一个到 Documents 目录中的 Inbox 目录的路径来读取文件列表。

问题在于,当我尝试创建路径时,这与使用“打开方式...”功能时收到的路径不同。

这里是application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation方法的url

/private/var/mobile/Applications/555DB980-71E2-4AC5-8B12-34F1BBDE975B/Documents/Inbox/myFile.xlsx

这里是使用此代码创建的路径:

#define DOCUMENTS_DIRECTORY NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES)[0]
#define INBOX_DIRECTORY     [NSString stringWithFormat:@"%@/%@", DOCUMENTS_DIRECTORY, @"Inbox"]

NSLog(@"%@",INBOX_DIRECTORY);

/var/mobile/Applications/555DB980-71E2-4AC5-8B12-34F1BBDE975B/Documents/Inbox

为什么缺少 start /private 文件夹?我怎样才能得到正确的路径?

基于@Mateusz Szlosek 答案的解决方案

即使一条以/var开头,另一条以/private/var开头,路径也是一样的

【问题讨论】:

不要使用/的格式,而是使用stringByAppendingPathComponent :#define INBOX_DIRECTORY [DOCUMENTS_DIRECTORY stringByAppendingPathComponent:@"Inbox"] 【参考方案1】:

在 OS X 上 var 是指向 private/var 的链接,也许它在 ios 7 上是一样的?

lrwxr-xr-x@ 1 root wheel 11 9 lis 15:17 tmp -> private/tmp

【讨论】:

是的,即使路径以/var 开头而不是/private/var 开头也可以工作 那么如何扩展/var/mobile/... url 以跟随链接并显示/private/var/mobile/...

以上是关于iOS 7 从文档中检索收件箱目录的主要内容,如果未能解决你的问题,请参考以下文章

将 sqlite DB 从收件箱复制到文档目录

无法从收件箱以外的任何文件夹中检索 gmail 邮件(Python3 问题)

从我的应用程序访问文档/收件箱中 IOS 上的文件

将文档/收件箱文件移动到另一个位置 - Xcode 7、Swift 2

如何使用 R RDCOMClient 检索 Outlook 收件箱电子邮件?

从 Outlook 检索电子邮件的脚本