我正在开发一个Xamarin.forms应用程序,使用最新的. NET解析SDK。
除了sdk没有在应用程序重启之间将userobject和ParseInstallationobject保存到磁盘之外,一切都运行正常。如果您登录并重启应用程序,GetCurrentUser()为null,并创建一个新的installationObject。
我初始化我的ParseClient如下:
var client = new ParseClient(new ServerConnectionData
{
ApplicationID = "Application_ID",
Key = "NET_KEY",
ServerURI = "Server_URL"
},
new LateInitializedMutableServiceHub(),
new MetadataMutator
{
EnvironmentData = new EnvironmentData { OSVersion = Environment.OSVersion.ToString(), Platform = Device.RuntimePlatform, TimeZone = TimeZoneInfo.Local.StandardName },
HostManifestData = new HostManifestData
{
Version = this.GetType().Assembly.GetCustomAttribute<AssemblyInformationalVersionAttribute>().InformationalVersion,
Name = this.GetType().Assembly.GetName().Name,
ShortVersion = this.GetType().Assembly.GetName().Version.ToString(),
Identifier = AppDomain.CurrentDomain.FriendlyName
}
});
client.Publicize();
我尝试自己保存SessionToken,并按如下方式检索用户:await ParseClient.Instance.BecomeAsync(sessionToken).ConfigureAwait(false);
它可以工作,但我找不到检索/保存ParseInstallationObject的解决方案。
gitHub上有一些例子也有同样的问题,https://github.com/parse-community/Parse-SDK-dotNET/issues/366,但是我看不出有人找到了解决方案。
我也尝试过使用旧的sdk,但是它似乎不能与Xamarin.forms一起工作,或者有什么方法可以使用它?
有没有人找到了解析SDK和Xamarin.forms的有效解决方案?
先谢谢你了!
1条答案
按热度按时间j1dl9f461#
下载并调试SDK的完整源代码后,我终于找到了一个目前为止行之有效的解决方案。您必须指定Cashe文件的路径,否则SDK将在每次重启应用时创建一个新的路径。请参阅下面初始化ParseClient的完整方法。