2017-08-01 52 views
4

我创建了多个应用程序在Android与单个数据库(内容提供商),单一登录(这意味着如果我登录在一个应用程序它应该适用于所有,如果我从一个应用程序应该从所有其他应用程序注销),我必须从另一个应用程序中打开一个应用程序,并且每天都必须将所有离线数据更新到服务器(它应该每天发生在特定时间)。现在我要将这个系统(所有应用程序)移植到iOS,iPhone中可能吗?我不打算将这个应用程序提交到应用程序商店。多个iOS应用程序与单个数据库和单一登录

+0

你为什么用'android'标签标记你的问题? –

+0

因为我已经在Android中实现了相同的功能,所以Android和iOS的常见开发人员可以轻松地给我一个建议 – Prathap

回答

3

是的,这是可能的。您将需要在容器URL保存您的数据库,你可以使用:

- (NSURL *)containerURLForSecurityApplicationGroupIdentifier:(NSString *)groupIdentifier; 

groupIdentifier PARAM需要是同为所有应用程序和需要内靶> Capabilities->应用组进行配置。

为每个应用程序配置了相同的appGroup后,可以使用上述方法将数据库保存到该方法提供的位置。这样,所有的应用程序都可以访问同一个数据库。

有NSUserDefaults初始化方法需要使用套接字(appGroup),并创建一个共享的UserDefaults,它可以用于您的单一登录目的。

- (instancetype)initWithSuiteName:(NSString *)suitename; 

参见:

containerURLForSecurityApplication

NSUserDefaults

+0

谢谢Puneet sharma为您的快速响应,您能给一些详细的示例 – Prathap

1

您可以使用AppGroups到您的应用程序之间共享文件。使用AppGroups,您可以通过在您的数据库中存储一个Bool功能来实现Single Sing-On功能,即您的每个应用都可以访问该应用,以指示用户当前是否登录,并在打开其中一个应用时采取相应措施。

+0

谢谢David Pasztor,如何打开一个来自另一个应用程序的应用程序,以及如何在同一时间每天将所有数据上传到服务器(为此,我使用的是Android服务),iOS中的替代方法是什么? – Prathap

+0

您无法从任何其他应用程序自动打开您的应用程序,“iOS”需要用户进行交互。您必须提供一个链接,指向您的其他应用程序,用户可以点击启动您的应用程序。但是,如果您使用共享数据库,则无需打开其他应用程序即可将其数据上载到服务器。您只需确保数据在您的任何应用程序关闭之前写入数据库,然后您只需每日从其中一个应用程序上载数据库的内容即可。 –

+0

设备连接到互联网几小时后,用户正在离线进行一些工作,因此在将设备联机前,有可能将所有应用程序都设置为暂停状态。 – Prathap

相关问题