【问题标题】:How to get all documents saved in iPhone?如何获取保存在 iPhone 中的所有文档?
【发布时间】:2016-04-26 23:17:00
【问题描述】:

我使用以下代码获取文档

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
if([paths count] > 0)
{
    NSString *documentsDirectory = [paths objectAtIndex:0];
    NSLog(@"%@",documentsDirectory);
    NSError *error = nil;
    NSArray *documentArray = [[NSFileManager defaultManager] contentsOfDirectoryAtPath:documentsDirectory error:&error];
    if(error)
    {
        NSLog(@"Could not get list of documents in directory, error = %@",error);
    }
    else
    {
        NSLog(@"Hello %@",documentArray);
        arrdocument = documentArray;
    }
}

但它只显示我的应用程序内的文档,而不是应用程序的外部。

【问题讨论】:

  • 您还想访问哪些其他文档?
  • 这就是沙盒的工作方式。 iOS 应用程序仅限于它的沙箱,以及用户提供的任何其他资源(例如,通过 iCloud 文档检查站)。

标签: ios objective-c documents


【解决方案1】:

您无法访问其他应用程序中的文件:每个应用程序都是沙盒。

我建议你阅读 Apple 的File System Basics

每个应用都是一座孤岛

iOS 应用与文件系统的交互主要限于应用沙箱内的目录。在安装新应用程序期间,安装程序会为该应用程序创建多个容器。每个容器都有特定的角色。包容器保存应用程序的包,而数据容器保存应用程序和用户的数据。数据容器进一步分为多个目录,应用程序可以使用这些目录对数据进行排序和组织。该应用还可能在运行时请求访问其他容器,例如 iCloud 容器。

这些容器构成了应用程序对文件系统的主要视图。

由于它位于沙盒中,因此通常禁止应用访问或创建其容器之外的文件。当应用程序使用公共系统界面访问用户的联系人或音乐等内容时,会出现此规则的一个例外情况。在这些情况下,系统框架会处理读取或修改相应数据存储所需的任何与文件相关的操作。

【讨论】:

  • 我想做一个像Hightail这样的应用。
  • 看起来这个应用程序可以简单地访问ils自己文件夹中的文件(和图片,但可以使用iOS API)
【解决方案2】:

您无法访问其他应用程序中的文件:是的。

但苹果提供了设计基于 NSDocument 的应用程序以在沙箱外共享文件的方法,沙箱是所有具有根公共包标识符的应用程序的公共共享文件夹。

此外,您还可以使用 iCloud 公共商店在其他应用程序(如 Flicker、Dropbox)之间共享数据。以下是一些教程链接:

https://www.raywenderlich.com/12779/icloud-and-uidocument-beyond-the-basics-part-1

https://developer.apple.com/library/ios/documentation/DataManagement/Conceptual/DocumentBasedAppPGiOS/DocumentArchitectureiniOS/DocumentArchitectureiniOS.html

【讨论】:

    【解决方案3】:

    每个应用都是一座孤岛

    iOS 应用与文件系统的交互 主要限于应用程序沙箱内的目录。期间 安装新应用程序时,安装程​​序会创建一些 应用程序的容器。每个容器都有特定的角色。捆绑 容器保存应用程序的包,而数据容器保存 应用程序和用户的数据。数据容器是 进一步划分为应用程序可以使用的多个目录 对其数据进行排序和组织。该应用程序还可能请求访问 运行时的其他容器,例如 iCloud 容器。

    https://developer.apple.com/library/ios/documentation/FileManagement/Conceptual/FileSystemProgrammingGuide/FileSystemOverview/FileSystemOverview.html

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-10-27
      • 2021-06-26
      • 1970-01-01
      • 2023-02-21
      • 2021-12-03
      相关资源
      最近更新 更多