多个iOS应用程序,包含单个数据库和单个登录

时间:2017-08-01 10:23:12

标签: ios iphone swift

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

2 个答案:

答案 0 :(得分:3)

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

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

所有应用的groupIdentifier参数必须相同,并且需要在Target-> Capabilities->应用组内进行配置。

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

NSUserDefaults init methid采用suitename(appGroup),并创建一个共享的UserDefaults,可用于单点登录。

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

参见:

containerURLForSecurityApplication

NSUserDefaults

答案 1 :(得分:1)

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