1
私は、うまく動作するApplication.persistentDataPathからファイルをダウンロードして保存し、ロードしています。 これで、エディタでうまく動作するが、iosでは動作しないように見えるファイルをいくつか削除したいと思います。Unity3D C#System.IO.File.DeleteがIOSで動作していません
「ファイルが存在しません」と表示されますが、ファイルが正常に読み込まれます。それが存在しない可能性はありますか、おそらくiosで拒否されたことでしょうか?
System.IO.File.Delete (localName);
ありがとう:
これは、いくつかの時間後に(働く)
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);
をロードするために、私はこのようなファイルを削除したいです!
これは大きなヒントです。私はいつも不思議に思っていました。私がパスを作るとき、私は単に 'string p = Application.persistentDataPath +"/"+" blah.txt "を使用します;"私はSystem.IO.Path.Combineを使用していません。その場合、iOSで削除するときに/ privateプリパスを使用する必要はありません。しかし、私はそれをチェックする時間がかかりませんでした。 – Fattie
同様に、パスを構築するときに書き込みと削除の両方が一貫しているように、/ private(iOSの場合)を常に「追加」することが問題ではないかと思います。 @JoeBlow。 – Fattie
それでも 'Application.persistentDataPath'が必要です。 'localName'は質問OPからの変数です。それは何かのように見えるはずです 'File.Delete("/private "+ Application.persistentDataPath +"/"+ filename);'あなたの質問のために、これは私が知る限り 'File.Delete'関数にのみ適用されます。それはUnityのバグです。したがって、 'Delete'関数を呼び出すときにのみ使用してください。 – Programmer