我有两个应用程序(例如:App1和App2)需要使用帐户登录。我需要实现的是当用户成功登录到App1时,电子邮件地址应该保存到设备的默认Accounts应用程序中。然后,当用户打开App2时,如果他需要使用同一帐户登录App2,则从App1保存的电子邮件地址应该显示为用户的推荐。就像您点击登录Google或Facebook一样的应用程序。
由于我是iOS新手,我需要询问是否可以在iOS中实现,如果是,我应该遵循什么程序。
修改
我尝试为此实现KeyChain。如下所示: -
void StoreKeysInKeychain (string key, string value) {
var s = new SecRecord (SecKind.GenericPassword) {
ValueData = NSData.FromString (value),
Generic = NSData.FromString (key)
};
var err = SecKeyChain.Add (s);
}
void GetRecordsFromKeychain (string key)
{
SecStatusCode res;
var rec = new SecRecord (SecKind.GenericPassword) {
Generic = NSData.FromString (key)
};
var match = SecKeyChain.QueryAsRecord (rec, out res);
if (match != null) {
// nsdata object : match.ValueData;
}
}
这样,当我使用电子邮件地址登录App1时,它会被保存,当我打开App2时,我会收到该电子邮件地址。这很好用。但现在的问题是,如果我从App1注销并使用其他电子邮件地址登录。该帐户在App2中不可见。如何获取所有电子邮件地址的列表?
感谢任何帮助。
答案 0 :(得分:2)
您需要使用应用程序组在应用程序之间共享信息,从应用程序和证书中的构建设置启用应用程序组,为它们分配相同的组,并在一组NSuserdefault上相互放置信息。
应用程序组的Xamarin文档位于:https://developer.xamarin.com/guides/ios/watch/working-with/app-groups/
答案 1 :(得分:-1)
我相信您可以为这两个应用设置一个ParseServer用户帐户管理