如何访问 iPhone 应用程序的 Documents 文件夹?

Posted

技术标签:

【中文标题】如何访问 iPhone 应用程序的 Documents 文件夹?【英文标题】:How do I access the Documents folder of an iPhone application? 【发布时间】:2015-07-26 05:19:32 【问题描述】:

我正在尝试备份视频游戏的保存文件。我很确定保存数据存储在 /Documents 中,因为每次完成关卡时文件夹的“上次更新”时间戳都会更改。然而,当我使用 iExplorer、iFunBox 等打开 /Documents 时,它是空的。当我尝试将整个文件夹复制到我的台式计算机时,它显示为一个空文件夹。

我认为某些设置阻止我查看该文件夹的内部信息。如何在不越狱手机的情况下解决这个问题?谢谢。

如果重要的话,我正在使用带有 ios 7 的 iPhone 4 (2010)。

我不是应用程序开发人员,也不了解 Objective-C。我只是想为我正在玩的视频游戏备份保存数据。例如,Candy Crush Saga 将存档文件存储在 Apps/Candy Crush/Documents/Save_########.dat 中。其他应用程序也将保存文件存储在各自的 /Documents 文件夹中,但我没有看到其中的任何内容。

【问题讨论】:

您是否尝试从 XCode Windows 菜单 -> 设备 -> 选择设备 -> 选择您的应用程序 -> 选择“显示容器”进行检查?它将显示与您的应用相关的所有沙盒文件。 我不明白为什么有人反对你的问题。取决于您如何保存设置。 Documents 文件夹包含您创建的文件(包括 SQLite 相关文件)。 NSUserDefaults 设置位于 /Bundle/Library/Preferences/bundelid.plist 所以有一个空的 Document 文件夹是正常的。 我不是应用程序开发人员,也不了解 Objective-C。我只是想为我正在玩的视频游戏备份保存数据。例如,Candy Crush Saga 将存档文件存储在 Apps/Candy Crush/Documents/Save_########.dat 中。其他应用程序也将保存文件存储在各自的 /Documents 文件夹中,但我没有看到其中的任何内容。 您应该在问题本身中提到您不是 ios 开发人员:-) 【参考方案1】:

问题缺少任何代码,但您似乎没有访问允许的目录。

作为一项安全措施,iOS 应用程序在文件系统访问方面受到限制。您最应该使用的目录是通过 API 访问的 NSDocumentDirectory。

访问代码示例:

目标-C:

NSString *path = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) firstObject];

斯威夫特:

let path = NSSearchPathForDirectoriesInDomains(.DocumentDirectory, .UserDomainMask, true).first as! String

【讨论】:

我不是应用程序开发人员,也不了解 Objective-C。我只是想为我正在玩的视频游戏备份保存数据。例如,Candy Crush Saga 将存档文件存储在 Apps/Candy Crush/Documents/Save_########.dat 中。其他应用程序也将保存文件存储在各自的 /Documents 文件夹中,但我没有看到其中的任何内容。 swift 3 - 如何获取到 'Documents/Inbox/' 的路径,因为从 'inbox' 目录访问文件。

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

如何从网页访问 iPhone 位置?

如何从iPhone访问SOAP服务

如何在 iPhone 中访问应用程序包之外的文件

Iphone - 如何启用应用程序访问设备上的媒体? - ALAssetsLibraryErrorDomain Code=-3312 "全局拒绝访问"

iPhone如何以编程方式访问通知中心

通过 UIImagePickerController 我们可以访问和上传图片。如何从 iPhone 访问和上传文件?