I've come across this app, which as one of the functionalities, can scan your phone to retrieve a list of installed apps. I have read the thread on SO here concerning retrieving a list of installed apps by accessing private folders, private APIs, etc. but the answers only apply to jailbroken/sandbox-free applications, which can't be put on the App Store. But this app has been approved and is available now on the store.
How is it that they are retrieving a list of the users installed applications without the use of private APIs?