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

时间:2015-06-13 01:16:32

标签: ios sqlite core-data

我的团队正在为大型组织开发一套内部应用程序,每个应用程序都需要访问相同的数据。这包括大量的用户数据和预先加载应用程序(SQLite)的大约50MB的其他数据,以及可以随时下载的大量图像和音频文件。在iOS 8中是否有任何方法允许这些应用程序访问相同的文件?像共享文档目录这样的东西是理想的。

最初这些应用程序将在Enterprise许可下内部发布,但客户最终会希望它们在App Store上发布。

2 个答案:

答案 0 :(得分:5)

不,您不能拥有共享文档目录,但可以使用共享文件夹作为文档目录。当您创建应用程序组Create an identifier for each of your apps in the app group.

然后,您可以使用文件管理器获取所需目录的URL以及给定的组标识符。

         case 2:                    
                System.out.print("customer name: ");
                name = scanner.next();
                d = 0;

                while (d < c - 1 && !name.equalsIgnoreCase(data1[d])) {
                    d++;
                }

                if (name.equalsIgnoreCase(data1[d])) {
                    System.out.println("enter airline miles of " + data1[d]);
                    airMiles = scanner.nextDouble();

                    airMile[d] = airMile[d] + airMiles;
                } else {
                    System.out.println("name not found");
                }
                break;

这会将URL返回到DataSender应用程序的目录。应用程序组中的每个应用程序都可以访问此目录。所以在你的其他应用程序中你会做同样的事情。

答案 1 :(得分:3)

不,你不能在iOS上的应用程序之间拥有共享文档目录。更不用说Apple并不支持这一点,在一个应用程序中对核心数据进行多线程已经足够多了,我不认为与多个应用程序共享您的sqlite库是个好主意。此外,在应用程序之间共享文档(如Android和Window Phone所做的那样)存在潜在的安全问题。我认为这也可能是苹果公司没有让开发人员直接访问其他应用程序文件的原因。

然而,就此而言,仍然可以在应用之间共享数据或文档。您可以查看以下两项:UIActivityViewControllerUIDocumentInteractionController。它们可能不是您想要实现的目标,但到目前为止,您在iOS上使用inter-app communication几乎是最好的。