In my opinion test driven design (TDD) is trading too much agility for quality, at least on projects that have ever changing requirements (like there are most of them, at least in my experience). And agility is very, very important nowadays. If you don’t get your app deployed first among those of its kind, it will probably fail regardless of its outstanding features. (Just like Windows Phone – not that Microsoft did TDD on their mobile OS.)
Instead, I think you can get the same quality faster if you are, simply, very careful. I’m not against unit testing, though – just that I think the time to create unit tests is that time when the alpha app got a few iterations and business eventually determined their real domain (not what they though and told you originally). I.e., when features get less changes, and get stable enough. When you go in beta you should have already all unit tests developed and maintained.