In addition to the $45 app, you'll need to buy Carly's OBD2 wifi adapter which will run you $74.90 at Amazon. There is a free Lite version of the app which you can try on your car just so you can be sure that compatibility is OK before you pay $45 for the app. There is some ambiguity for vehicles manufactured in the 2007 year as to whether or not you'll get the full experience. However, you'll need to have the wifi adapter to even use the Lite version. But at least you could always return that if you had too.
There are a couple of in-app purchases available which surprised me since this was a $45 app. But the service from the developer has been nothing short of excellent with regular improvements and updates coming on a regular interval. And even at $45 per app, I'm glad there will be an income stream which will increase the chances that this will be a viable operation for years to come. It only takes one major iOS migration to kill your favorite app if it's never updated. The two available purchases are, $9.99 to register your new battery and $4.99 to reset general service intervals. Both are very handy for BMW owners.
So if you own a recent model of "The Ultimate Driving Machine" I highly recommend this app. The code reading and clearing alone is worth the price. But it won't take long until you are tinkering with all kinds of settings and making your trusty steed bend to your will forever.