iPhone应用程序在存储数据时如何交互?

iPhone应用程序在存储数据时如何交互?,iphone,ios,Iphone,Ios,基本上,我想知道应用程序是否独立工作和存储数据,或者一个应用程序是否有可能修改另一个应用程序。还有 应用程序及其数据保存在手机的哪个文件夹中 如果我在本地修改某个应用程序中的数据,数据会保存在其他应用程序可以访问的公共场所,还是保存到该应用程序特定的文件夹中?iOS在应用程序间通信方面还不太成熟 数据可以使用系统剪贴板在应用程序之间共享,并通过电子邮件和Web服务等媒体通过网络传输 iOS设备还为应用程序提供了一种简单且定义良好的方法,通过URL和文件类型处理程序发送消息和数据。这些技术分为两类

基本上,我想知道应用程序是否独立工作和存储数据,或者一个应用程序是否有可能修改另一个应用程序。还有

应用程序及其数据保存在手机的哪个文件夹中


如果我在本地修改某个应用程序中的数据,数据会保存在其他应用程序可以访问的公共场所,还是保存到该应用程序特定的文件夹中?

iOS在应用程序间通信方面还不太成熟

数据可以使用系统剪贴板在应用程序之间共享,并通过电子邮件和Web服务等媒体通过网络传输

iOS设备还为应用程序提供了一种简单且定义良好的方法,通过URL和文件类型处理程序发送消息和数据。这些技术分为两类:

  • 自定义URL前缀,例如。someapp://something/somethingelse?somestuff=whatever
  • 按文件扩展名(例如.*.txt)或MIME类型(例如text/plain)自定义文件类型处理程序
  • 自定义URL前缀在两个应用程序建立了特定协议时非常有用,而自定义文件类型处理程序则更为通用,其设计方式允许任何应用程序注册并参与。本文介绍了后者:化学数据的自定义文件类型处理程序。如果你为某个文件类型注册你的应用程序,看起来是这样的-

    注册。问题的第二部分-如果我在本地修改某个应用程序中的数据,数据会保存在其他应用程序可以访问的公共场所,还是保存到该应用程序特定的文件夹中


    因此,每个应用程序在设备的文件系统上存储数据的位置受到限制。iOS通过允许应用程序只对自己的文档和tmp目录进行读写来实现这一点。在这两个目录中,相应的应用程序可以创建文件,也可以创建任意深度级别的子目录。此区域构成应用程序的沙箱,应用程序无法在这些目录之外创建或修改文件或目录。检查

    iOS在应用程序间通信方面有点不成熟

    数据可以使用系统剪贴板在应用程序之间共享,并通过电子邮件和Web服务等媒体通过网络传输

    iOS设备还为应用程序提供了一种简单且定义良好的方法,通过URL和文件类型处理程序发送消息和数据。这些技术分为两类:

  • 自定义URL前缀,例如。someapp://something/somethingelse?somestuff=whatever
  • 按文件扩展名(例如.*.txt)或MIME类型(例如text/plain)自定义文件类型处理程序
  • 自定义URL前缀在两个应用程序建立了特定协议时非常有用,而自定义文件类型处理程序则更为通用,其设计方式允许任何应用程序注册并参与。本文介绍了后者:化学数据的自定义文件类型处理程序。如果你为某个文件类型注册你的应用程序,看起来是这样的-

    注册。问题的第二部分-如果我在本地修改某个应用程序中的数据,数据会保存在其他应用程序可以访问的公共场所,还是保存到该应用程序特定的文件夹中


    因此,每个应用程序在设备的文件系统上存储数据的位置受到限制。iOS通过允许应用程序只对自己的文档和tmp目录进行读写来实现这一点。在这两个目录中,相应的应用程序可以创建文件,也可以创建任意深度级别的子目录。此区域构成应用程序的沙箱,应用程序无法在这些目录之外创建或修改文件或目录。检查

    一般来说,每个应用程序只能访问自己的工作目录,并将其所有数据保存在那里。因此,没有任何应用程序可以访问其他应用程序的数据

    除了一些苹果的应用程序,比如照片、通讯录、日历等等。应用程序可以使用定义良好的API访问它们,并进行一些(受控)更改。在未来的iOS版本(从iOS 6开始)中,用户将被询问第三方应用程序是否应该访问这几个苹果应用程序的数据


    苹果还没有基于文件的解决方案可以直接在应用程序之间共享数据(剪贴板除外,这是一个文件例外)。

    一般来说,每个应用程序只能访问自己的工作目录,并将所有数据保存在那里。因此,没有任何应用程序可以访问其他应用程序的数据

    除了一些苹果的应用程序,比如照片、通讯录、日历等等。应用程序可以使用定义良好的API访问它们,并进行一些(受控)更改。在未来的iOS版本(从iOS 6开始)中,用户将被询问第三方应用程序是否应该访问这几个苹果应用程序的数据


    苹果目前还没有一个基于文件的解决方案可以在应用程序之间直接共享数据(剪贴板除外,它是一个文件例外)。

    这个问题第一部分的一般答案是:“没有”。应用程序本身就是沙盒,因此无法相互通信。有许多例外情况:

  • 如果您有权访问特定应用程序的自定义URL方案(Facebook单点登录可利用此功能)
  • 打开由系统上的多个应用程序处理的文档类型(如在邮件中打开附件时)
  • 如果这两个应用程序都是由同一个发布者开发的,那么可以选择使用UIPasteboard、iCloud共享密钥/值字典(尽管只有小数据集)或访问共享密钥链商店
  • UIPasteboard有一些奇怪的行为,因为您可以使用系统范围的PasteBoard或特定于应用程序的PasteBoard,并且无法保证何时清除它

    第二个问题-文件夹结构-是可变的,取决于操作系统版本,但通常是所有应用程序