Ios5 MonoTouch:保存到/库/缓存中的项目永远不会停留在附近

Ios5 MonoTouch:保存到/库/缓存中的项目永远不会停留在附近,ios5,xamarin.ios,Ios5,Xamarin.ios,我的应用程序在首次启动时创建了许多项目,并将它们保存到/Library/Caches/Thumbnails中 这个应用程序运行得很好 当我关闭应用程序,然后重新运行时,这些文件就不再存在了。这在模拟器中不会发生 string appdir = NSBundle.MainBundle.BundleUrl.Path; string cache = Path.GetFullPath (Path.Combine (appdir, "..", "Library", "Caches"));

我的应用程序在首次启动时创建了许多项目,并将它们保存到/Library/Caches/Thumbnails中

这个应用程序运行得很好

当我关闭应用程序,然后重新运行时,这些文件就不再存在了。这在模拟器中不会发生

    string appdir = NSBundle.MainBundle.BundleUrl.Path;
    string cache = Path.GetFullPath (Path.Combine (appdir, "..", "Library", "Caches"));
    Console.WriteLine ("Files:");
    int i = 0;
    foreach (string file in Directory.GetFiles (cache, "*.txt"))
             Console.WriteLine ("{0}. {1}", i++, file);
    string fname = Path.Combine (cache, i.ToString () + ".txt");
    File.WriteAllText (fname, "cache this for later");
我已经设置了no not backup属性,但是当应用程序手动关闭后运行时,缓存仍然是空的


有没有办法让缓存持续更长时间。这不是用户创建的数据,因此无法放入/文档。

在我的
FinishedLaunching
方法中添加以下代码时,每次执行时(在设备上和模拟器上)都会显示一个新文件

因此,它看起来像是iOS在收集数据以回收设备上的一些空间(iOS 5中的新功能)。这不会发生在每个用户/设备上(如果有足够的可用空间),但遗憾的是,我不知道iOS是如何计算的


不要备份不会有帮助(
缓存
从不备份),除非您将数据保存在
文档中
,但这也可能会导致其他问题(wrt AppStore)。如果没有更好的答案,我建议您与(上一个链接)博客作者一样,填写一个。

在我的
FinishedLaunching
方法中添加以下代码会在每次执行时显示一个新文件(在设备和模拟器上)

因此,它看起来像是iOS在收集数据以回收设备上的一些空间(iOS 5中的新功能)。这不会发生在每个用户/设备上(如果有足够的可用空间),但遗憾的是,我不知道iOS是如何计算的


不要备份不会有帮助(
缓存
从不备份),除非您将数据保存在
文档中
,但这也可能会导致其他问题(wrt AppStore)。如果没有更好的答案,我建议你和(上一个链接)博客作者一样,填写一个。

这是出乎意料的。我会试着复制这个。“不备份”标志不应更改任何内容,因为iTunes从不备份(IIRC)
app/Library/Caches/
(恐怕模拟器也会忽略它)。你能编辑你的问题来说明使用的是什么版本的iOS吗?这是出乎意料的。我会试着复制这个。“不备份”标志不应更改任何内容,因为iTunes从不备份(IIRC)
app/Library/Caches/
(恐怕模拟器也会忽略它)。你可以编辑你的问题来说明使用的是什么版本的iOS吗?应用商店不喜欢我使用/Documents,它正在消失/缓存。哦,是时候有一个新的方法了。我很高兴我使用了MonoTouch,所以它简单、快速、稳定。我的MonoTouch应用程序也被拒绝使用/Documents来存储可复制的图像,所以我也需要切换到库/缓存。应用程序商店不喜欢我使用/Documents,它正在消失/缓存。哦,是时候有一个新的方法了。我很高兴我使用了MonoTouch,所以它简单、快速、稳定。我的MonoTouch应用程序也被拒绝使用/Documents来存储可复制的图像,所以我也需要切换到库/缓存