title: Best practice to detect iPhone app only access for web services?
body: <p>I am developing an iPhone app together with web services. The iPhone app will use GET or POST to retrieve data from the web services such as <a href="http://www.myserver.com/api/top10songs.json" rel="noreferrer">http://www.myserver.com/api/top10songs.json</a> to get data for top ten songs for example.</p>
  
  <p>There is no user account and password for the iPhone app. What is the best practice to ensure that only my iPhone app have access to the web API <a href="http://www.myserver.com/api/top10songs.json" rel="noreferrer">http://www.myserver.com/api/top10songs.json</a>? iPhone SDK's UIDevice uniqueueIdentifier is not sufficient as anyone can fake the device id as parameter making the API call using wget, curl or web browsers.</p>
  
  <p>The web services API will not be published. The data of the web services is not secret and private, I just want to prevent abuse as there are also API to write some data to the server such as usage log.</p>