I like this question. Obviously, the situation is not easy, since you can't evaluate correctly someone in a domain/language you don't know well.
I often see HR people (alone) interviewing developers, and it always surprises me how bad are their interviews. Your case is different: you are already experienced in .NET; all you lack is a deep knowledge of iPhone development.
1. General skills evaluation
I suggest to try to determine less how good an interviewee is in iPhone development and more how good she is in general programming. For example, you can ask very general questions which can be solved in most programming languages, and listen about the language-independent solutions proposed by the candidates.
As an example, here's a question (no time limitation) I asked to my last interviewee (I'm a .NET developer, while the candidature was for a PHP programmer):
Taken a valid XHTML code as a string, you must minify it by removing every meaningless whitespace (for example, see the raw HTML code of Google home page). What will be your approach(es)?
Here, I don't care if a person has a deep knowledge in PHP. What matters is that this person can solve a not-so-simple problem like that, and especially find quickly one or more correct solutions in a context of stressful interview.
If the person doesn't find anything, well, it's bad. It means that the candidate would probably take too much time finding right approaches at work, or will start coding before thinking.
If the person says that this can possibly be done with regular expressions, it means that she knows what regular expressions are, and probably has some knowledge in general programming. I consider this answer valid, even if using regular expressions in this context is totally wrong.
If the person says that we need to parse the code, build an XML tree, and then output it, trimming different parts, there are good chances that even if this person lacks some knowledge in PHP, she will learn fast how to use it and become a valuable employee. At least she takes care of listening the details of the question, makes difference between HTML and valid XHTML and probably knows why regular expressions must not be used in this context.
Finally, remember that there is no such a thing as a "good developer in [put language here]". If a person has general development skills, is good at communicating her ideas, documenting code, using SVN, etc., even if she doesn't really know a certain language, she will learn it quickly.
2. Previous projects success and contractors satisfaction evaluation
The problem is that the previous approach fails when you need somebody for a short period of time. As an employee can spend a few weeks improving her knowledge in a precise language, you can't afford a consultant spending weeks learning things if you need this consultant for a few months.
In this situation, I don't see any magical solution to use during an interview. In order to evaluate the skills of this consultant, you must be an expert in the language, or to hire an expert to evaluate the consultant. But, of course, to hire an expert, you must first evaluate her, so you need to be an expert or to hire another expert before, etc.
On the other hand, instead of asking technical questions during interview, you can probably ask the consultant about her previous missions and projects, then contact the companies which used to work with this consultant and ask them their opinion about the real development skills of the person.
Also, just looking at previous projects can give you an idea of her skills. It's very hard to do, but remains possible, especially for large projects. A good developer with no skills in a precise language will have some pain to build a large projects: while she will achieve with ease basic things after reading a few pages of a book/manual, the things will start getting harder for something less basic.
Imagine, for example, a good PHP developer who just started to learn C#. She will probably miss the point of delegates, lambdas, etc., or use them as if it was a sort of PHP lambda functions, which is much more limited and ugly than in C#.
Another example: if C# has garbage collector, why do we need to use
using around classes which implement
IDisposable, and what is the difference between disposing and finalizing an object?
There are also points that the person will not understand well. Why:
string name = this.Person.FirstName;
may fail with a weird exception, whereas:
string name = this.Person == null ? string.Empty : this.Person.FirstName;
will work fine, for example?
3. Knowledge of language tricks evaluation
Before looking at previous projects and contacting previous contractors, there is another thing you can do. On
StackOverflow or other websites, there are frequently people speaking about some nice tricks to use in a language, a sort of things the beginners don't know. You can use those discussions to prepare interview questions.
The three points above are equally important. You can't hire somebody because she solves problems fast, or because she achieved large projects successfully in the past, or because she masters the tricks of a language. Use all three, and you may have a more or less precise image of the skills of a candidate in a language you don't know well.