- 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