Add option to export to "Manual Android iOS" in single file mode

In the game properties there is a “Project Files” option to store as a single file or multiple files. If you care about change isolation or source control, you typically would choose multiple files.
However, for Cordova builds I’ve encountered issues where UTF-8 characters in the external scenes and layout will result in file names that iOS does not allow in their file system. Using the single file mode avoids this problem.
I think it would be nice to have an option when exporting to “export in single file mode” because it’s a hassle to create a copy of my project and then touch the files and re-save in single file mode, and then export to to get this to happen currently.

I am not sure what you are talking about. When exporting, your project data isn’t present and the project file setting irrelevant. All the data is always saved in a single file data.js and the events are converted into code with mangled names. If you are somehow using the project files in the cordova build, you are likely doing something wrong. If you have a naming problem, it can’t be linked to the naming of your project file as the name of the project data and code (everything that lives in the project json) are generated by the engine.

If you have indeed a file naming problem, it is more likely to be in your resources, if it isn’t then maybe it is the content of the project data and either way it isn’t related to exporting a single file.

You are correct, I misunderstood what I was seeing.
I saw a bunch of json files with the same name as my external layouts in the www folder of the export… it turns out that those were my tilemap data files and not the external layouts.

Thanks for helping me to second guess what I was seeing… should I delete this post to rescind it?

Might be useful for future readers, you should move it to How do I (and perhaps edit the title).
So you renamed your tilemap files and the problem was solved?

Yes, specifically my tilemap file was using a unicode character that was not supported on my version of windows, and I was mounting it via samba to MacOS to build the cordova export.
Even though the original character was supported in MacOS, the windows encoding for an “unsupported” character is not a valid character in MacOS or iOS, so copying that file to either OS resulted in an “illegal character” error during the copy process (after building, which worked fine).
I renamed the tile map file and removed the unsupported character, and updated my code to remove the old resource reference, and pull from the newly named version instead.
This resolved my issue.

I’ve also updated my :v: guide :v: on how to build for iOS here:

1 Like