If you have a GPS, then you also have a compass, because any GPS can compute North.
This is untrue. A GPS can tell you what your coordinates are but not which way your device is facing relative to north. If you're moving it assumes the GPS is facing the direction of travel, which is not always the case. When you aren't moving it gets quickly confused.
No, actually it is true. You just need multiple antennas in a known orientation.
Sources:
We all know what the difference is between a GPS and a compass.
Apparently some of us are confused about the relative capabilities though.
In context of the iPhone, no, calculating attitude from the GPS data isn't possible due to its size. But calculating attitude using GPS is quite possible and has already been done.
ID threads are the best.
After Goliath's defeat, giants ceased to command respect. - Freeman Dyson