Files persistent after build (read/write)

I was wondering if there is a way to have files(.txt) that can be edited and that are persistent. I am developing for iOS. I want to save map info, and i want to have some built in maps, and a map editor for the users to make their own maps. If i use PersistentDataPath, it will be empty after the build. I have read about TextAsset, but from what i understand, it is not editable. I belive i could copy the TextAssets in the PersistentDataPath the first time i run the game, but that sounds very unefficient.
Is there a place where i can store and edit files and that persist before and after building the game?

public class FileIO : MonoBehaviour {

public static string FILE_NAME_BUY_COINS="coins.txt";
public static string FILE_NAME_LEVELS="levels.txt";

public static void CreateFile(string path, string fileName){
if(!File.Exists(path+“/”+fileName)){
File.Create(path+“/”+fileName).Dispose();
}
}

public static void WriteFile(string path,string fileName,string data){
if(File.Exists(path+“/”+fileName)){
StreamWriter sw = new StreamWriter(path+“/”+fileName);
sw.WriteLine(data);
sw.Flush();
sw.Close();
}
}

public static string ReadFile(string path,string fileName){
string output=“”;
if(File.Exists(path+“/”+fileName)){
StreamReader sr = new StreamReader(path+“/”+fileName);
output=sr.ReadLine();
sr.Close();
}
return output;
}

public static string GetAppDataPathIOS(){
	string path=Application.dataPath.Substring(0,Application.dataPath.Length-5);	
	path=path.Substring(0,path.LastIndexOf('/'));
	return path+"/Documents";
}

public static string GetAppDataPathAndroid(){
	return Application.persistentDataPath;
}

}

//good luck