我正在研究两种不同的Xamarin表单应用程序,我需要与第二个应用程序共享第一个应用程序的sqlite数据库.
我想为不同的xamarin表单应用程序实现单点登录方法,
用户只能在任何应用程序中登录,并且可以在两个应用程序中保持登录状态.
我在下面找到了android中我们可以共享数据库的统计数据: –
Share LocalDB in two different android app
现在我只需要在我的xamarin表单应用程序中使用类似的东西.
任何帮助将不胜感激.
谢谢 :)
请享用!
解决方法:
在iOS的情况下,它是沙箱,因此在应用程序之间共享数据非常困难.但仍有一些方法可以在应用程序之间共享数据.
在您的情况下,我建议您使用应用程序组.应用程序组允许不同的应用程序(或应用程序及其扩展)访问共享文件存储位置,有关更多详细信息,请参阅Working with App Groups.
在Adding an App to an App Group之后,我们可以使用以下方法在应用程序之间共享数据:
NSUserDefaults的:
var userDefaults = new NSUserDefaults("<your group ID>", NSUserDefaultsType.SuiteName);
userDefaults.SetString("user123", "userId");
userDefaults.Synchronize();
的NSFileManager:
NSUrl appGroupDirectoryPath = NSFileManager.DefaultManager.GetContainerUrl("<your group Id>");
NSUrl dataBaseUrl = appGroupDirectoryPath.Append("dbname.db", false);
//You can try to copy your dataBase file to this url.