- Home /
file saved to iOS persistent directory exists during session but is gone next session
After a recent build that involved setting up Unity on a new machine, I noticed my iOS app's persistent data had vanished. In fact I cannot get it to persist between sessions. I wrote this simple function to read, write, and trace, a trivial file in iOS persistent storage.
void TestPdp () { string strReport = ""; strReport += ">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>\n"; strReport += "PDP: "+PersistantDataPath+" ARP: "+ActiveRuntimePlatform + "\n"; string strFile = PersistantDataPath+Path.DirectorySeparatorChar + "TestFile.txt";
     bool bExists = File.Exists(strFile); //
     FileInfo info = new FileInfo(strFile);
     bool bExists2 = (null!=info) && info.Exists;
     if (bExists != bExists2)
         Qa.Trace ("*******************************************************");
     strReport += "FILE: "+strFile+"\n";
     strReport += (bExists?"EXISTS\n":"ABSENT\n");
     if (bExists) 
     {
         StreamReader reader = File.OpenText (strFile);
         string line = reader.ReadLine ();
         reader.Close ();
         strReport += "READ: "+((null == line)?"empty":line)+"\n";
     }
     string strOut = ""+DateTime.Now.Ticks;
     {
         FileStream fileStream = new FileStream (strFile, FileMode.Create);
         StreamWriter writer = new StreamWriter (fileStream);
         writer.WriteLine (strOut);
         writer.Flush ();
         writer.Close ();
         fileStream.Dispose ();
     }
     strReport += "WROTE: "+strOut+"\n";
     bExists = File.Exists(strFile); //(null!=info) && info.Exists;
     bExists2 = (null!=info) && info.Exists;
     if (bExists != bExists2)
         Qa.Trace ("+++++++++++++++++++++++++++++++++++++++++++++++++++++++");
     strReport += (bExists?"NOW EXISTS\n":"NOW ABSENT\n");
     Qa.Trace (strReport);
 }
Output. Note the file is ABSENT at the start of each session.
First session:
PDP: /var/mobile/Containers/Data/Application/7854668A-959E-4E75-AD71-9A90812EC92F/Documents ARP: IPhonePlayer FILE: /var/mobile/Containers/Data/Application/7854668A-959E-4E75-AD71-9A90812EC92F/Documents/TestFile.txt ABSENT WROTE: 635999455617173010 NOW EXISTS
PDP: /var/mobile/Containers/Data/Application/7854668A-959E-4E75-AD71-9A90812EC92F/Documents ARP: IPhonePlayer FILE: /var/mobile/Containers/Data/Application/7854668A-959E-4E75-AD71-9A90812EC92F/Documents/TestFile.txt EXISTS READ: 635999455617173010 WROTE: 635999455617674280 NOW EXISTS
Second session:
PDP: /var/mobile/Containers/Data/Application/7C766016-662F-45A9-87A4-DDBA3006B936/Documents ARP: IPhonePlayer FILE: /var/mobile/Containers/Data/Application/7C766016-662F-45A9-87A4-DDBA3006B936/Documents/TestFile.txt ABSENT WROTE: 635999456788487360 NOW EXISTS
PDP: /var/mobile/Containers/Data/Application/7C766016-662F-45A9-87A4-DDBA3006B936/Documents ARP: IPhonePlayer FILE: /var/mobile/Containers/Data/Application/7C766016-662F-45A9-87A4-DDBA3006B936/Documents/TestFile.txt EXISTS READ: 635999456788487360 WROTE: 635999456788961480 NOW EXISTS
Your answer
 
 
             Follow this Question
Related Questions
Multiple Cars not working 1 Answer
Distribute terrain in zones 3 Answers
My IOS touch input is not working 0 Answers
Cross compilation job Assembly-CSharp.dll failed. When building iOS. 2 Answers
Application.systemLanguage always returns english [IOS] 0 Answers
 koobas.hobune.stream
koobas.hobune.stream 
                       
                
                       
			     
			 
                