Unity3D C#System.IO.File.Delete没有在IOS上工作

时间:2016-04-14 11:20:07

标签: c# ios unity3d

我正在下载并从/向Application.persistentDataPath存储和加载文件,工作正常。 现在我想删除一些文件,这些文件在编辑器中工作正常,但似乎不适用于ios。

它说"文件不存在"但它成功加载文件。它怎么可能不存在,也许在ios上删除被拒绝?

这是用于加载(有效)

string localName = System.IO.Path.Combine(Application.persistentDataPath, filename);

 var www = new WWW(thumbnailLink);
        yield return www;
        //Save file
        System.IO.File.WriteAllBytes (localName, www.bytes);

一段时间后,我想要删除这样的文件:

System.IO.File.Delete (localName);

谢谢!

1 个答案:

答案 0 :(得分:1)

在调用删除功能之前,在文件名前添加“/private”。

System.IO.File.Delete ("/private" +localName);

该代码不可移植。使用#if UNITY_IPHONE检查这是否是iOS然后进行修改,以便它也能在Android上运行。

#if UNITY_IPHONE
System.IO.File.Delete ("/private" +localName);
#else
System.IO.File.Delete(localName);
#endif