iOS build 10x larger than Android (over 1GB!)

As the title suggests, I’m having an issue where my iOS builds are coming out at almost 10x the size of Android builds.

My Android build is ~160MB. The iOS build shows on iTunes connect as 1.4GB (even though the “compressed” size is 240MB):

Here’s the output of the build log, which matches up pretty well with the compressed size of 240 MB:

87826-capture2.png

All of my textures are PoT, except for about 20 UI sprites (as the compression ruins the sharpness of the UI sprites). However these UI sprites only weigh in at about 1MB each, so they shouldn’t be the cause of this insane inflation, right?

What am I missing? Does anybody have any suggestions? I’m pretty frustrated, as my game is ready to be released, aside from this issue. (Who’s going to download a 1.4GB game?!)

Any help would be greatly appreciated.

Thanks in advance!

EDIT: I should mention that I’m using Unity 5.5, and XCode 8

EDIT2: After digging into the archive produced by XCode, it looks like the vast majority of the size (> 900MB) is taken up by all of the levelX & levelX.resS files (of which there are 18, as my app has 18 levels). The levels in my game don’t really have any data in them, aside from the level blend file itself (which are about 500 KB - 1 MB). The player and all of the items are spawned into the level when it loads.

Why are these levelX and levelX.resS files so big?

I ended up “resolving” this by reducing the size of the shadow maps in each scene.

I’m using uncompressed shadow maps, as they look blotchy and disgusting when compressed. Android handles this fine (I guess it compresses them in its own way), but iOS seems to leave them completely uncompressed. That’s what makes the levelX and levelX.resS files so massive on iOS.

My only option was to cut the shadow map size down in half, which in turn reduced all file sizes by 75%. The build is now down to about 350MB. Still about twice the size of Android, but that’s good enough for me.