I wasn't sure whether you meant to run custom software on your phone or just a generic app that handles communication. In terms of bluetooth, I've seen grumbles that on Apple you can't access the bluetooth device unless you pay $$$ to be an apple iphone developer. Since I don't own any Apple products, I can't say from personal knowledge.
On the Android side, there are various apps you can get from the Android store that can allow you to communicate to the device. Just this morning, I connected my Uno via the USB OTG cable to my Samsung S II phone. I used two apps:
- Arduino USB Serial Monitor Lite
- Arduino Uno Communicator
Both allow you to monitor the text from Serial.println's in your Arduino, and can send text. You can even set it up so each time you plug in the Arduino, it runs the application. I found the Arduino USB Serial Monitor Lite application to be more polished, in that it starts in text mode, it recognizes linefeeds, and it has various options to control speed, etc. It also has a feature to email the contents of the screen to an email account. There are also various apps to control Arduinos via bluetooth, but since I don't have a bluetooth device on my Arduino yet, I have't tried them.