iPhone文件没有持久性

时间:2011-03-01 12:48:54

标签: c# ios xamarin.ios

我有一个使用MonoTouch用C#编写的iPhone应用程序。一切正常,但我的应用程序创建的文件(一个小的sqLite数据库和一个临时文件)有一些有趣的事情。当应用程序驻留在内存中时,文件似乎是exis,但是当我重新启动手机时,文件就消失了(?)因此,应用程序会忘记它正在做的事情。

正如monotouch文档中所述,我将文件存储在“个人”文件夹下。这在模拟器和我的真实手机上都可以正常工作。但如上所述,如果我重新启动或单独离开手机几个小时,文件就会消失得无影无踪(注意:只要应用程序正在运行且具有焦点,一切都很好.iOS似乎让应用程序保持均匀如果退出菜单。)

这是我如何获取临时文件路径的示例:

var documents = Environment.GetFolderPath (Environment.SpecialFolder.Personal);  
return Path.Combine(documents,"tr_activeTask.dat");

我意识到每个iPhone应用程序都有自己的“个人”文件夹,这是由iPhone支持的其他东西。有没有人经历过这种行为?我无法弄清楚原因。它是否以某种方式连接到我使用的配置文件(特别测试)?

1 个答案:

答案 0 :(得分:0)

我只看了我的应用程序,我有这个:

BaseDir = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.Personal), "..");
Documents = Path.Combine(BaseDir, "Documents");

此文档文件夹是我存储所有内容的地方。