Why is it that the compass on my iPhone can give true north, but the airplanes cannot do this?
This is actually not that unusual. For example, Runway 14 at Farmmingdale NY (KFRG) is 146°, so it ought to be called Runway 15. The airport was started in 1927, presumably when the runway was first designated the magnetic bearing was less than 145°, hense the designation Runway 14. If the drift continues, they will probably redesigate it as Runway 15.
The importance is that winds are always given in magnetic bearing as a “from” number, for example from the NorthWest at 330°. Since you want to land into a direct headwind, if the winds are from 330° you will want to land on a heading of 330° (Runway 33) or as close to that number as possible; so if you have a choice of Runway 29 and Runway 35, then other things being equal you will want to land on Runway 35.