OBD2 Smart Phone Apps

I've been tempted, but I'm tired of trying scan tools that do not properly talk to one car or another. It started with TII FWD Mopars not communicating. Now I've got the 2004 BMW 330Ci convertible and my scan tool will read codes, but won't clear them. Also won't reset the service interval. I'd love to find one that did all that I need it to do...