Having formed part of the iOS testing effort, I saw how you were forced by circumstance to add some platform-specific functionality. I would imagine that the same is true for all other platforms, since they have different capabilities, features, and conventions.
My question to you is, how do you handle and maintain all this custom code? I mean, do you have multiple branches of the codebase, each diverging progressively as development proceeds and new features are added? Or do you have a single source base with a bunch of “if (platform == iOS) … else if (platform == XBox) …” etc.?