I must be missing something very obvious, but I can't seem to get this going.
I added the FirstPersonController script (and CharacterController of course) to my prefab.
When I run it, I get a load of errors from the Update function, which I traced to 'moveTouchPad' being unassigned.
What should it be assigned to, and where?
'moveTouchPad' being unassigned makes me think of the Input values in the inspector. Having not used the iPhone release, I can't say for sure. Still, just for debugging purposes, you might want to create an input in the Inspector (Edit/Project Settings/Input) called 'moveTouchPad', and see if that fixes the problem.
I needed to add a Joystick Script to my prefab, much as in the other prefabs provided for iPhone.