I've used several, including square, back when I had my paintball business as 95% of my business was done at the paintball field. Back then, mobile credit card processing was a pretty new thing so I'm sure a lot has changed and there are infinitely more options now. Does she already have a card processor the app will need to be compatible with or will she need that too? I used Credit Card Terminal with my Stripe.com merchant account, I liked this one the best. Looks like they are offerings a free card reader. Again, card readers on your phone was new, back then square was the only option and I got in on their beta to get mine. I also used Swipe Credit Card Terminal for iPhone with both my Stripe merchant account and with my Authorize.net merchant account.
My biggest issue with Square now days is they have been pretty public about their anti-firearm policies.
If she needs a merchant account, look at Stripe.com, they used to be fairly easy to get setup and have rates that are the same as most low volume merchants. They are also very easy to integrate in to a website and there's lots of integrations out there for different carts, etc. Authorize.net is the big boy and if she's doing enough volume, they're worth it IMO.