akavache未在ios模拟器/设备中缓存

akavache未在ios模拟器/设备中缓存,ios,xamarin,xamarin.forms,xamarin.ios,akavache,Ios,Xamarin,Xamarin.forms,Xamarin.ios,Akavache,使用xamarin表单v.3.1和akavache v5+akavache.sqlite3 v5 在app.xaml.cs中,我初始化了akavache BlobCache.ApplicationName = "EF_Cache"; BlobCache.EnsureInitialized(); 为了缓存数据,我使用localmachine await BlobCache.LocalMachine.InsertObject<List<int&

使用xamarin表单v.3.1和akavache v5+akavache.sqlite3 v5

在app.xaml.cs中,我初始化了akavache

       BlobCache.ApplicationName = "EF_Cache";
       BlobCache.EnsureInitialized();
为了缓存数据,我使用localmachine

       await BlobCache.LocalMachine.InsertObject<List<int>>("FavouriteTeams", FavouriteTeam, TimeSpan.FromDays(300));
wait-BlobCache.LocalMachine.InsertObject(“FavoriteTeams”,FavoriteTeam,TimeSpan.FromDays(300));
要检索数据,我需要

       var FavouritesList = await BlobCache.LocalMachine.GetObject<List<int>>("FavouriteTeams");
var-favoriteslist=wait-BlobCache.LocalMachine.GetObject(“FavoriteTeams”);
下面的代码在android设备上运行良好,没有问题,但当我在ios设备/模拟器上尝试时,它失败了,没有错误,getobject在重新启动应用程序时只返回null


是否缺少任何内容或应在ios应用程序的properties或info.plist中配置额外内容

可能发生的情况是,用于保存到本地计算机的Akavache库被链接器“优化”

基本上,这意味着编译器看不到iOS项目对DLL的直接引用,而DLL是将某些内容保存到光盘并将其作为优化删除所需的。Akavache处理它的方式是无声地返回内存模式

为了解决这个问题,您需要包含一个类,该类对程序集中以其他方式“链接”的类进行一些伪代码引用。你可以在网站上找到它和更多信息

将该类添加到您的iOS项目中,最好将其添加到您的Android项目中

public static class LinkerPreserve
{
  static LinkerPreserve()
  {
    var persistentName = typeof(SQLitePersistentBlobCache).FullName;
    var encryptedName = typeof(SQLiteEncryptedBlobCache).FullName;
  }
}

添加此项后,问题应该得到解决。

可能发生的情况是,用于保存到本地计算机的Akavache库被链接器“优化”

基本上,这意味着编译器看不到iOS项目对DLL的直接引用,而DLL是将某些内容保存到光盘并将其作为优化删除所需的。Akavache处理它的方式是无声地返回内存模式

为了解决这个问题,您需要包含一个类,该类对程序集中以其他方式“链接”的类进行一些伪代码引用。你可以在网站上找到它和更多信息

将该类添加到您的iOS项目中,最好将其添加到您的Android项目中

public static class LinkerPreserve
{
  static LinkerPreserve()
  {
    var persistentName = typeof(SQLitePersistentBlobCache).FullName;
    var encryptedName = typeof(SQLiteEncryptedBlobCache).FullName;
  }
}

添加此项后,问题应该得到解决。

它是否总是返回null?或者在重新启动应用程序时?在重新启动应用程序时会发生这种情况。它是否总是返回null?或者当你重新启动应用程序时?它发生在重新启动应用程序时