Quantcast
Channel: Questions in topic: "xcode"
Viewing all articles
Browse latest Browse all 1047

*SOLVED* Error writing to IOS file system works on android & editor

$
0
0
Hi all, Ive got a function that downloads json and the tries to save a copy on the device. It works fine on android and in the editor. Can't put my finger on it. Ipad is running IOS 10 and settings in unity are 9 upwards if that adds anything. Below is the unity code plus the error on xcode. MONODEVELOP using UnityEngine; using System.Collections; using System; using System.IO; using System.Collections.Generic; using LitJson; public class loadJSONHome : MonoBehaviour { public string url; public string url2; private string jsonString; public static loadJSONHome instance; public GameObject preloader; void Awake(){ if(instance==null){ instance = this; } } void Start (){ WWW www2 = new WWW(url); StartCoroutine(WaitForRequest(www2)); // preloader.SetActive(true); } IEnumerator WaitForRequest(WWW www2){ yield return www2; // check for errors if (www2.error == null) { //SAVE JSON FROM ONLINE LOCALLY jsonString = www2.text; writeStringToFile(jsonString, "FoodnDrink_Cats.json"); writeListings(); } else { Debug.Log("WWW2 Error: "+ www2.error); } } void writeListings(){ WWW www3 = new WWW(url2); StartCoroutine(WaitForRequest2(www3)); } IEnumerator WaitForRequest2(WWW www3){ yield return www3; // check for errors if (www3.error == null) { //SAVE JSON FROM ONLINE LOCALLY jsonString = www3.text; writeStringToFile(jsonString, "listings_FoodnDrink.json"); } else { Debug.Log("WWW3 Error: "+ www3.error); } //preloader.SetActive(false); } public void writeStringToFile( string str, string filename ){ #if !WEB_BUILD string path = pathForDocumentsFile( filename ); FileStream file = new FileStream (path, FileMode.Create, FileAccess.Write); StreamWriter sw = new StreamWriter( file ); sw.WriteLine( str ); sw.Close(); file.Close(); #endif } public string readStringFromFile( string filename){ //, int lineIndex ) #if !WEB_BUILD string path = pathForDocumentsFile( filename ); if (File.Exists(path)) { FileStream file = new FileStream (path, FileMode.Open, FileAccess.Read); StreamReader sr = new StreamReader( file ); string str = null; str = sr.ReadToEnd (); sr.Close(); file.Close(); return str; }else{ return null; } #else return null; #endif } public string pathForDocumentsFile( string filename ){ if (Application.platform == RuntimePlatform.IPhonePlayer) { string path = Application.dataPath.Substring( 0, Application.dataPath.Length - 5 ); path = path.Substring( 0, path.LastIndexOf( '/' ) ); return Path.Combine( Path.Combine( path, "Documents" ), filename ); }else if(Application.platform == RuntimePlatform.Android){ string path = Application.persistentDataPath; path = path.Substring(0, path.LastIndexOf( '/' ) ); return Path.Combine (path, filename); }else { string path = Application.dataPath; path = path.Substring(0, path.LastIndexOf( '/' ) ); return Path.Combine (path, filename); } } } XCODE Location service updates are not enabled. Check LocationService.status before querying last location. IsolatedStorageException: Could not find a part of the path "/var/containers/Bundle/Application/BC5FA0A8-9767-4689-8707-EBB7FA1886F5/Documents/FoodnDrink_Cats.json". at System.IO.FileStream..ctor (System.String path, FileMode mode, FileAccess access, FileShare share, Int32 bufferSize, Boolean anonymous, FileOptions options) [0x00000] in :0 at System.IO.FileStream..ctor (System.String path, FileMode mode, FileAccess access, FileShare share, Int32 bufferSize, Boolean isAsync, Boolean anonymous) [0x00000] in :0 at System.IO.FileStream..ctor (System.String path, FileMode mode, FileAccess access) [0x00000] in :0 at loadJSONHome.writeStringToFile (System.String str, System.String filename) [0x00000] in :0 at loadJSONHome+c__Iterator5.MoveNext () [0x00000] in :0 (Filename: currently not available on il2cpp Line: -1) Help appreciated.

Viewing all articles
Browse latest Browse all 1047

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>