5

我目前正在开发两个应用程序App1,将文件从 Dropbox 下载到 iPad,以及App2. Dropbox 集成有点麻烦,我不想在这两个应用程序上都这样做。那么是否可以从可能访问它们的App1地方保存这些文件?App2我听说应用程序的沙盒化在 iOS6 中变得有点松散,但不确定有多松散。

我在这里看到了一些类似的问题,但它们似乎可以通过使用 URL 方案或将数据发送到其他应用程序来解决,这并不是我真正想要的。

解决此问题的任何其他想法将不胜感激。

4

2 回答 2

5

这是可能的,但本地方法并不适合大文件。

您可以使用 Keychain 来存储少量数据,类似于 NSUserDefaults。优点是这可以在应用程序之间共享。参考http://shaune.com.au/ios-keychain-sharing-data-between-apps/

至于您的情况,您想在哪里共享文件,您可以将它们编码为字符串并存储在钥匙串中(我认为这是一个非常糟糕的主意),或者使用网络服务(如果您的目标是 iOS 5 及更高版本,只要两个应用程序的团队 ID 相同,iCloud 就可以解决问题)。请参阅http://developer.apple.com/library/ios/#documentation/Miscellaneous/Reference/EntitlementKeyReference/Chapters/AboutEntitlements.html

我更喜欢网络服务,iCloud 应该会让你更轻松。

于 2012-11-06T10:56:08.747 回答
2

还有另一种方法可以做到这一点,尽管这是一种非常丑陋的方法,因为它使您的信息对用户可见(无论如何,在时尚之后)。

可以在同一设备上的同一位置存储、读取和写入的唯一介质之一是图像。事实上,您可以将您的信息(文件、数组、Web 服务缓存等任何您想要的)写为图像的像素信息。然后,您可以将其存储在本地而不压缩到自定义相册中,并且其他应用程序可以访问相册中的“图像”并将它们解释为原始文件。您必须为您的图像滚动您自己的标题信息以指示文件格式等,并且用户将能够看到图像,尽管它看起来几乎完全是胡说八道。这是一种速记形式。

无论如何,我不希望你接受这个作为答案,但我想我会提出它作为一个示范,通过一些创造性的编码你可以绕过大多数障碍:)

于 2012-11-13T06:43:05.310 回答