1
我正在下载和存储和加载来自/可以Application.persistentDataPath文件正常工作。 现在我想删除一些文件,它在编辑器中工作正常,但似乎不适用于ios。Unity3D C#System.IO.File.Delete无法在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);
谢谢!
这是一个巨大的提示。我一直想知道:当我创建路径时,我只使用'string p = Application.persistentDataPath +“/”+“blah.txt”;'我不打扰使用System.IO.Path.Combine。我感觉到,在这种情况下,在iOS上删除时,不需要使用/ private预路径。但我没有花时间检查出来。 – Fattie
同样,我不知道是否可以“总是添加”/ private(当在iOS上),以便在编写和删除路径时保持一致。 – Fattie
@JoeBlow。你仍然需要'Application.persistentDataPath'。 'localName'是问题OP的变量。所以它应该看起来像'File.Delete(“/ private”+ Application.persistentDataPath +“/”+ filename);'对于你的问题,不,这只适用于'File.Delete'函数,据我所知这是Unity中的一个错误。所以只有在调用'Delete'函数时才使用它。 – Programmer