Method 1: http://developer.apple.com/library/ios/#featuredarticles/iPhoneURLScheme_Reference/Introduction/Introduction.html
Method 2: http://forrst.com/posts/UIDevice_Category_For_Processes-h1H
Method 3: http://stackoverflow.com/questions/3878197/is-it-possible-to-get-information-about-all-apps-installed-on-iphone/3878220#3878220
Method 4: http://www.iphonedevsdk.com/forum/iphone-sdk-development/22289-possible-retrieve-these-information.html
The last two are private APIs and iOS devices only for jail break, while the first two are for normal iOS devices. The first two methods are explained as follows:
Method 1: Use URL scheme to check whether the URL scheme exclusive to an application has a response. If there is a response, it indicates that this specific app is installed.
Method 2: Use some methods to obtain information about the currently running process, and obtain information about the installed app from the process information.
This article from network resources: Web site: http://amitay.us/blog/files/how_to_detect_installed_ios_apps.php