I bought this knowing that it was incompatible with a stock iPhone. Apple restricts bluetooth connections to iOS devices through their developer program, meaning that most non-standard bluetooth accessories won't pair well with it. Because of this, most OBD apps on the app store are only compatible with WiFi scanners rather then bluetooth ones.
After some quick Googling, I came across a jailbroken app (on Cydia) called RoqyBT (~ $5) and the RoqyOBD (free) module for OBD connections over bluetooth. Roqy has a custom bluetooth stack that can talk with most bluetooth OBD scanners (including the ELM 327) and it sets up a server on your iOS device to route connections between the bluetooth adapter, meaning that most apps will be able to recognize the device, even though the iPhone refuses to talk with it natively.
Steps to set this up:
1. JAILBREAK your phone - This will (technically) void your warranty and could brick your phone. Generally, tools provided by the iPhone Dev Team are relatively safe, but back up your data and learn how to use DFU mode.
2. Open cydia and allow it to update. Search for "roqy" and install "roqybt" and "roqyobd." The free version won't setup a server for your OBD device, so you'll have to plunk down ~ $5 to purchase it.
3. Connect the ELM 327 to your car.
4. Open RoqyBT and turn on bluetooth through the app. The app should auto-discover your device, just click on it.
5. Roqy should then show the IP address and port to connect to. Record the port. The IP address should always be 127.0.0.1
6. Download an app from the app store. Personally, I use DashCommander. It's a bit pricey, but an excellent app overall.
7. Open DashCommander/etc and set up the connection using the IP address/port you recorded earlier.
As far as this adapter is concerned, it works EXCELLENTLY! I'm so glad to have found this product and Roqy; they work wonderfully together.