With iOS development I've typically had the interviews that you are seeking. I show them my apps over coffee and then I do a few hours (or a feature) of contract work (paid) for them and it usually works out and I continue onwards :)
I am not sure that this works for all situations though; maybe I've been lucky too... I tend to work for smaller startups.
Imho, this approach could work most of the time (sometimes a candidate could have other commitments and not be able to do contract work on the side).
As an employer i think there is nothing better than to be able to verify beforehand if a candidate will be able to do what you actually plan to pay him for. I would just change that "few hours" with few weeks and favor interaction with other employees (that will then be able to assess the candidate).
I am not sure that this works for all situations though; maybe I've been lucky too... I tend to work for smaller startups.