iOS 8 - 在应用之间共享文档目录

4
我的团队正在为一家大型组织开发一套内部应用程序套件,每个应用程序都需要访问相同的数据。这包括大量的用户数据和预加载在应用中的 ~50MB 的其他数据(SQLite),以及可能随时下载的大量图像和音频文件。iOS 8 中是否有办法允许这些应用访问相同的文件?类似共享文档目录的东西是理想的解决方案。 最初,这些应用将在企业许可下内部发布,但客户最终希望它们在 App Store 上发布。
2个回答

5
不,你不能拥有一个共享文档目录,但你可以有一个共享文件夹,可以将其用作你的文档目录。当你创建一个应用程序组 为应用程序组中的每个应用程序创建标识符。

然后你可以使用文件管理器获取你想要的目录URL和给定的组标识符。

let url = NSFileManager.defaultManager().containerURLForSecurityApplicationGroupIdentifier("group.com.MTC.DataSender")!

这将返回DataSender应用程序目录的URL。应用程序组中的每个应用程序都可以访问此目录。因此,在您的其他应用程序中,您会执行相同的操作。

3
抱歉,您不能在iOS上在应用程序之间共享文档目录。更不用说苹果不支持此功能,单个应用程序内的核心数据多线程已经存在错误,我认为共享sqlite库给多个应用程序不是一个好主意。此外,在应用程序之间共享文档(例如Android和Windows Phone所做的)存在潜在的安全问题。我认为这也可能是苹果不允许开发人员直接访问其他应用程序文件的原因之一。
然而,尽管如此,仍然有可能在应用程序之间共享数据或文档。您可以查看这两个:UIActivityViewControllerUIDocumentInteractionController。它们可能不完全符合您想要实现的目标,但这基本上是目前 iOS 上 应用程序间通信 能做到的最好的了。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接