我目前正在开发两个应用程序,App1
,即将文件从Dropbox下载到iPad,App2
。 Dropbox集成有点麻烦,我宁愿不在两个应用程序上都这样做。那么可以在App1
可能访问它们的某个地方App2
保存这些文件吗?我听说应用程序的沙盒在iOS6中有点松动,但不确定如何松散。
我在这里看到了一些类似的问题,但它们似乎是通过使用URL方案或将数据发送到其他应用程序来解决的,这不是我真正想要的。
任何其他解决此问题的想法都将受到赞赏。
答案 0 :(得分: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应该让你更轻松。
答案 1 :(得分:2)
还有另一种方法可以做到这一点,虽然这是一种非常丑陋的方式,因为它使您的信息对用户可见(无论如何,时尚之后)。
可以存储,读取和写入同一设备上相同位置的唯一介质之一是图像。实际上,您可以将您的信息(文件,数组,Web服务缓存,无论您想要的任何内容)写为图像的像素信息。然后,您可以将其无本地压缩存储到自定义相册,另一个应用程序可以访问相册中的“图像”并将其解释为原始文件。您必须为您的图像滚动自己的标题信息以指示文件格式等,并且用户将能够看到图像,尽管它看起来大部分都是无意义的。这是一种形式的速记。
无论如何,我不希望你接受这个作为答案,但我想我会提出它作为一个示范,通过一些创造性的编码,你可以绕过大多数障碍:)