I have used Mobile Magic, the official Disney app, and it's awesome.
It is the only app that gets data directly from the Disney system: so you'll see on your app exactly the same wait time that you would see on the boards outside the ride. Moreover you'll also be able to see the return times for fastpasses, so you can decide which Fast Pass get next before heading to the ride (very annoying to go to take a fast pass and it's not available any more).
I found that for rides that use the electronic system to update the wait time, the system is very accurate (all rides that use fast pass). For rides where the wait time is updated manually by a CM, the app is not updated real time (understandably).
The app also gets your position using GPS, so it will display the rides nearest you first in the list.
I would change only one thing: for the shows it will only display the time for the next show. So to know when is the second World of Color or the second Fantasmic! you must look at the time guide.
I've downloaded it from Google Play, I don't know if it's available also for Iphone.