I would love to be able to let my iPhone-App communicate to my Arduino over Bluetooth. I found some Bluetooth shields that support the following protocols: BCSP, DUN, LAN, GAP S
There are several connection technologies available.
As others have mentioned, standard Bluetooth (3.0) is controlled by the MFi program. The only way to connect to a non-jailbroke iPhone is to join the MFi program.
Serial access is interesting. You have to join MFi to distribute a serial device, but you can use the Redpark Serial Cable to connect your own iPhone to a serial device.
There are several ways to connect Bluetooth LE devices to the Arduino. One I've used is the RedBearLabs BLE Shield. It works pretty darn well.
You can also connect to an Arduino using a WiFi-serial bridge. I've had success with the WiFly device.
One of the neat things about the BLE Shield and WiFly is you don't have to use Objective C or a Macintosh--although that's an option, of course. You can access both through techBASIC, running right on the iPad or iPhone.
You can probably figure these out on your own with some research and effort, but these connection technologies (plus a few more that don't apply directly to Arduino) are also covered in Building iPhone and iPad Electronics Devices, a new book from O'Reilly.