如何访问应用程序目录外的文件

Posted

技术标签:

【中文标题】如何访问应用程序目录外的文件【英文标题】:How to access files out of app directory 【发布时间】:2016-05-05 17:17:14 【问题描述】:

我正在开发一个可以列出电话文件的应用程序,例如 .pdf。但到目前为止我只能读取应用程序目录中的文件。

以下代码:

    let pathURL = NSFileManager.defaultManager().URLsForDirectory(.DocumentDirectory, inDomains: .UserDomainMask)[0]
    let path = pathURL.URLByAppendingPathComponent("file.pdf")
    let pathStr = path.path
    return pathStr

上面的代码有效,但仅适用于应用程序目录中的目录,我需要读取所有目录并获取所有 .pdf 文件。 如何访问所有电话目录?例如,阅读并捕获您手机上的所有 .pdf 文件。如果没有,请注明限制列表所在的链接。

【问题讨论】:

这对 App Store 意味着什么?如果是这样,你不能。应用程序被沙盒化。您只能读取自己应用的文件。 @rmaddy 是的,它进入了 App Store。 Whatsapp 可以这样工作吗?或者它只适用于 iCloud Drive? 第三方应用程序可以访问来自其他服务的文件,例如 iCloud Drive、Dropbox、Google Drive 等。但这些文件不在本地 ios 设备中。他们来自外部服务。您的应用程序可以像 WhatsApp 或任何其他 3rd 方应用程序一样访问它们。您的应用无法在您自己的应用沙箱之外的本地 iOS 设备上查找文件。 @rmaddy 非常感谢 【参考方案1】:

由于 Apple 的沙盒,您只能读取自己应用目录中的文档。

来自documentation:

iOS 应用与文件系统的交互主要限于应用沙箱内的目录。

【讨论】:

以上是关于如何访问应用程序目录外的文件的主要内容,如果未能解决你的问题,请参考以下文章

Dojo 访问 js 文件外的 js 对象

如果应用程序正在侦听“localhost”,我们如何访问网络外的节点服务器?

如何访问公用文件夹外的图像(Laravel)[重复]

使用 CodeIgniter 加载视图文件夹外的视图

Tomcat配置虚拟路径访问容器外的硬盘资源

请教iis目录漏洞攻击如何防护