当我在Mac或Windows上以调试配置在VS 2022中构建应用时,首选项保存并读取良好。然而,一旦我在Release配置中构建应用程序并将其部署到应用程序商店以在TestFlight上进行测试,首选项就不再保存/读取。
注意:当我构建并发布Android发布版本时,首选项会正确保存/读取。
下面是保存和读取方法:
public void CreateItem(string key, dynamic value) {
Preferences.Default.Set(key, value);
}
public string GetString(string key) {
String contents = null;
try {
contents = Preferences.Get(key, null);
}
catch (Exception ex) {
}
return contents;
}
更新我在DEBUG中构建了应用程序,并以以下两种方式将其部署到我的手机上,结果不同:
1.使用应用程序的“开发人员证书”和“开发人员配置文件”,这导致保存/读取首选项工作。
1.使用应用程序的“分发证书”和“分发配置文件”,这会导致保存/读取首选项 * 不 * 工作。
1条答案
按热度按时间ulmd4ohb1#
所以,我无法解决保存到首选项的问题,也无法得到一个明确的错误消息,因为它是一个发布版本,不能连接到VS进行调试,在那里我可以看到我的控制台打印语句在我的try/catch块。我想一个解决方法是尝试在警报中打印这些消息,如下所示:
DisplayAlert("Alert", "<error message body here>", "OK");
然而,我确实找到了一个有利可图的解决方案,那就是将我的JSON对象和字符串保存到如下文件中:
我调用保存和阅读如下: