我们在项目中使用 Akavache,在 Android 中一切正常,但在 iOS 上,我们遇到了一些问题,即如果我们将键值保存在缓存中,如下所示:
public async void Salvar(Login login)
{
await BlobCache.LocalMachine.InsertObject("login", login);
}
如果我停止调试会话,然后重新开始调试并尝试使用以下方法获取值,BlobCache 将毫无错误地保存:
public async Task<Login> Recuperar()
{
try
{
var dados = await BlobCache.LocalMachine.GetObject<Login>("login");
return dados;
}
catch (KeyNotFoundException)
{
return null;
}
}
我会得到 KeyNotFoundException,我不知道为什么在 Android 中运行良好,但在 iOS 上似乎数据库在重新启动应用程序后消失了。
在我在 Visual Studio 上的 Xamarin 配置中检查 Preserve application data/cache on device between deploys 是 true 并且我的
BlobCache.ApplicationName = "AppName";
在 OnStar 方法
有谁知道发生了什么?谢谢