Of course this app should be banned, should have never made it to the appstore to begin with. And the developer should be ashamed of himself. With all the discussions around the NSA & privacy these days, it's tone-deafness & insensitive for a developer not to see the obvious problems iHasApp creates.
It seems odd to be outraged at a practice employed by the very knight in shining armor that just shut them down.
There are both ethical reasons and unethical reasons why an app-developer would want to know the other apps chosen by their users. On the up side, one could use the knowledge to prioritize improvements/integrations/compatibility with other apps. On the down side, one could punitively react to the presence of competing apps.
Assessing the ethics of how the functionality is used requires greater openness and transparency by everyone. Unfortunately, in a culture as closed as Apple's (eg http://www.pcmag.com/article2/0,2817,2375476,00.asp or https://developer.pidgin.im/wiki/WhyNoiOSVersion ), you are unlikely to see that kind of openness.
> The iHasApp iOS Framework allows you to detect installed apps on a user's device. Detection results can be in the form of an array of detected appIds, or an array of appDictionaries from the iTunes Search API.
http://iosdevelopertips.com/core-services/carrier-informatio...
I'm running a browser with only two (what I believe are common) add ons installed and a fairly uninteresting system config on common hardware. This is enough (combined with other "safe" metadata) to uniquely identify me! Compare this to iPhones, which frequently have dozens of apps installed and expose comparable device metadata.