You can define your own API and use any authentication method that you prefer. You will need to inject some kind of secret into your application that you use for authentication, for example, a randomly generated secret key.
In general, it is not possible to embed a key in user software that users cannot retrieve. You have a slight advantage on the iPhone because it is a very controlled platform: most users do not have access to your application binary files. However, you are still vulnerable to a user with a rooted iPhone who parses your application and retrieves a secret - and there is nothing you can do about it.
.