I will start with a spoiler. If you intend to develop cross-platform on mobile, then do Android first. In my recent experience, Android is far less tolerant. Unit3D is cross-platform, so I expected to port Goblin Defence in a day. It is now three weeks later, and I am stuck.
Building for Android was relatively easy. I had a running application in under a day. Uploading it to the play store for testing proved problematic. Goblin Defence exceeded the 100Mb limit. It turns out that Android can only compress images that are a power of two in both dimensions. The solution was non-trivial. I had to combine pictures into atlases and then change the program. Sprites were smooth, but sometimes the code wanted to use them as textures. It turns out that a sprite points to the texture of the whole atlas. It contains offset and size parameters that can be used to extract the required texture information. There was no library function to do this one thing, so I had to write one.
The last two weeks have been the worst. If you get to the game-play scene, then the application will exit about 2-1/2 minutes later. It goes without a trace in any log. I found many cases where coroutines and recursion were tangled together. It was worth fixing, but in the end, the problem is still there.
At least I am improving my strategies with all this play-testing. If you have an iOS device then give Goblin Defence a go.