I have an application that needs to get the list of installed (other, maybe third party) applications on the device. How can it be done? Or can it be done at all?
You could scan all your apps through apple private framework "MobileInstallationInstall".
The method is like below:
NSDictionary *options = [NSDictionary dictionaryWithKeyAndValues:@"ApplicationType",@"Any",nil]
NSDictionary *apps = MobileInstallationLookup(options);
it can only be used in JB devices.