With over 350,000+ apps in the Apple App store, getting your app noticed is becoming more and more difficult. There have been many different approaches to solving the App discovery problem, but even with these solutions they all depend on one common factor, Reviews. What makes this even more of a difficult problem is getting your users to the App store in a happy and willing state to perform a review. Apple finally got rid of the awful idea of prompting to review an App at the point of uninstall, which was notorious for generating high levels of bad reviews for apps. Who is happy with an App that they are removing?
The best approach that I have seen apps take so far is to politely ask for a review at different times in the application. This is best done after the user has used the app over time, and ideally after a positive experience in the app. A good example would be to ask for a review after a user unlocked an achievement. The logic would be that they are in a happy state as a result of their achievement, so would be more likely to review your app.
Nick Lockwood from Charcoal Design has taken a lot of the pain out of this process for developers. He has published a simple class, iRate, that can be used in any iOS app to prompt app users to review the app. It is incredibly simple to get this code working with your existing app. Using the default configuration you can have this code up and running in your application in as little as one line of code.
First download the class from GitHub here.
Second import the iRate class into your project.
Third add the following line to your App Delegate code with the App Store Id for your app.
Thats it! Now there are many great options you can use to customize the appearance, and when to have the review prompt displayed, but if you leave it at the default settings it will work fine also. I would encourage you to read the documentation over at GitHub to see the many options you can use.