I've been down this road with my ipad and guitar and through much trial and error, was able to find a gig worthy solution....
You'll need a dock that can handle audio and usb midi input and output. I bought the Focusrite iTrack dock and have been happy with it's performance and features.
Depending on the application you are aiming for, you might consider the following apps and routing options.
First you'll need Audiobus if you don't already have it. It allows you to rout multiple apps as inputs, effects and outputs. I used Loopy HD as my output app for my vocals, guitar and a synth (Propellorhead's Thor).
The Softstep maps nicely to Loopy HD without much stress, as each of the buttons are assignable within the app. The reason I'm no longer using this setup is that Loopy HD has a latency delay of 256ms, which is far to long for me to use while playing live and syncing with other instruments, plus the iPad can't handle all the apps I was hoping to use at once.
Any of the iPad apps you might want to use or buy will need to have [i]midi learn[i] which lets you press a button with your foot while the app is in 'learn' mode. Aka you can make the buttons change whatever command, effect or parameter you like.
The setup ends up being quite portable and reliable, but does require some extra hardware and software purchases and a bit of a learning curve.