During the free fall the iphone is supposed to send acceleration values as 0 on all the three axis. So how to detect the distance covered by the iphone?
The accelerometer will read 0 (or g) on all 3 axis whether it is in freefall or sitting on a table. Therefore the question is moot, since there is no way to determine the distance without making the assumption of freefall.