Wirelessly Connect and Control Arduino with iPad Or iPhone

Hi, hoping someone can help. I need to be able to control my Arduino using an iPad, or similar device, for a project at work. I need to be able to control motors and digital outputs, along with read data from sensors attached to the Arduino. Can anyone give me a push in the right direction? What do I need to buy to connect to the Arduino? Do I need a WiFly, or an Ethernet Shield? Or do I need an XBee? Along with this comes the app to use on the iPad - which one is the best, and does this limit which boards or shields I can use?


Your main choices are TCP/UDP or serial over Bluetooth. The TCP/UDP network can reach the Arduino over WiFi or Ethernet.