如何在Xamarin.ios上创建文件(PHP会话)

wa7juj8i  于 2022-12-07  发布在  iOS
关注(0)|答案(2)|浏览(151)

我需要创建一个(.txt)文件在我的应用程序根Xamarin.ios上,所以需要在内存中存储一个字符串,包含一个用户名,用户登录后,我可以使用每个字符串运行一个“httprequest”到我的mySql数据库在线。类似的过程在PHP中的会话,但客户端和在C#..谢谢。我只是尝试,与cookie,但是我需要在每个类和每个故事板中访问UserName。
我只是尝试编写一个可序列化的JSON文件:

String NU = "NomeUtente=" + NomeUtente.Text;
string json = JsonConvert.SerializeObject(NU, Formatting.Indented);
System.IO.File.WriteAllText(@"/558gt.txt", json);

但是Xamarin.ios抛出了一个异常:
系统未授权访问异常--〉访问路径/558gt.txt被拒绝。

oug3syen

oug3syen1#

如果需要存储数据,请使用Xamarin.Essentials.SecureStorage
Check documentation

bzzcjhmw

bzzcjhmw2#

谢谢。我阅读了ios文件系统上的文档,并设法编写了阅读写包含用户名的会话文件所需的部分代码。

try {
      //creo il file nella sandbox maledetta di iOS
      //create file Session
      var documents = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments);
      var filename = Path.Combine(documents, "Session.txt"); 
      //filename contiene la path completa di dove sta il file  
      File.WriteAllText(filename, NomeUtente.Text);

      }
      catch (Exception) {
           label1.Text = "Errore generico.";
      }

现在我在一个单独的类和故事板中阅读文件:

//Recupero il nomeutente
var documents = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments);
var filename = Path.Combine(documents, "Session.txt");
var NomeUtente = File.ReadAllText(filename); //contiene il NomeUtente

相关问题