2016-04-14 19 views
1

Dosyaları iyi çalışan Application.persistentDataPath dosyasına yükleyip karşıdan yükleyip karşıdan yüklüyorum. Şimdi editörde gayet iyi çalışan ancak ios üzerinde çalışmıyor gibi görünen bazı dosyaları silmek istiyorum.Unity3D C# System.IO.File.Delete üzerinde çalışmıyor IOS

"Dosya mevcut değil" diyor ancak dosyayı başarıyla yükler. Mevcut olmaması, belki de ios üzerinde reddedilmesi nasıl mümkün olabilir?

bu (çalışır) yükleme

içindir
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); 

Bir süre sonra, böyle dosyayı silmek istiyorum:

System.IO.File.Delete (localName); 

teşekkürler!

cevap

1

Silme işlevini çağırmadan önce dosya adının önüne "/private" ifadesini eklersiniz. Bu kod taşınabilir değildir. Bu iOS olup olmadığını kontrol etmek için #if UNITY_IPHONE kullanın ve sonra da Android üzerinde çalışacak şekilde değişiklik yapın.

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

Bu büyük bir ipucu. Her zaman merak ettim: yolu açtığım zaman sadece 'string p = Application.persistentDataPath +'/"+" blah.txt ";' System.IO.Path.Combine kullanarak rahatsız etmiyorum. Bu durumda, iOS'ta silme işleminde/private yolunu kullanmanın * gerekmediğini hissediyorum. Ama kontrol etmek için zaman ayırmadım. – Fattie

+1

benzer şekilde, hem yazma hem de silme için yolu oluştururken tutarlı olması için/(iOS'ta iken) her zaman "her zaman eklemeye" sorun olup olmadığını merak ediyorum. – Fattie

+0

@JoeBlow. Hala Application.persistentDataPath'üne ihtiyacınız var. "localName", OP sorgusundaki değişkendir. Yani bir şey gibi görünmelidir 'File.Delete ("/private "+ Application.persistentDataPath +"/"+ dosyaadı);' Sorunuz için, Hayır. Bu sadece bildiğim kadarıyla 'File.Delete' işlevi için geçerlidir ve Bu Birlik'teki bir böcek. Bu yüzden sadece 'Delete' işlevini çağırırken kullanın. – Programmer

İlgili konular