Troubleshooting
Importing files
A route file won't import
Navigator accepts only .fpl and .xml. Anything else is refused with "Please select a .fpl
or .xml file." — check the extension survived whatever path the file took to the device;
email and messaging apps sometimes rename attachments.
If the extension is right but the Route section stays empty, the file parsed but yielded
fewer than two usable waypoints. Every waypoint needs a non-empty <identifier> and numeric
<lat> and <lon>; ones that don't are skipped without comment. See
file formats for the minimum Navigator accepts.
"Failed to parse KML"
The file is not XML Navigator can read, or it contains no coordinate/time pairs at all. Export a fresh track log from ForeFlight rather than reusing a KML that has been through another tool.
If the message continues "...has positions but no timestamps", the file is geometry only — a route or a drawn line rather than a recorded track. Navigator refuses it rather than scoring it on invented times; see the note in file formats.
"Non-increasing timestamps at index n"
Two track points share a timestamp, or time runs backwards. This usually means the log was stitched from more than one recording, or contains a paused-and-resumed segment. Navigator requires strictly increasing time and will not guess which points to drop. Re-export the original single track.
The KML imported but the score is nonsense
Timing is no longer the likely culprit — a track log with no <when> timestamps is refused at
import rather than scored on invented ones. Look instead at the planned times you entered, at
which legs are switched Scored on, and at the checkpoint radii under
settings. If the track itself looks wrong, open the KML in Google Earth
and check it is the flight you think it is.
Live flights
Timing never starts
The PRE-FLIGHT pill stays orange because ground speed never reached the rotation speed you set. Either:
- Location was denied. Grant it in Settings → Navigator → Location and restart the flight. Nothing arrives without it.
- Rotation speed is set too high, or the source is not reporting speed.
- Wi-Fi-only iPad on Device GPS. There is no GPS receiver in it. Use GDL90.
Whatever the cause, the Start button on the pre-flight panel starts the clock by hand.
Legs don't advance
Passing outside the checkpoint radius no longer strands you — Navigator calls a miss and advances anyway, showing MISSED · UNDO. So if the leg genuinely isn't advancing, it is one of these:
- You turned short of the checkpoint, on an out-and-back or a sharp turn. A miss is only called once you cross the checkpoint's gate — the line through it square to the inbound leg — and turning short never crosses it, so Navigator keeps pointing at a waypoint you have given up on. This is the one case you have to fix by hand.
- Auto switch is off. Check for the AUTO pill. Using Jump to Leg turns it off deliberately; re-enable it from Leg Control.
- Ground speed below 20 knots, the floor that rules out GPS faults.
Fix it in the air with Leg Control → Jump to Leg, then re-enable auto switching. See legs advance by themselves.
Legs advance too early
Usually a checkpoint that sits close to your course toward the next one, so you satisfy the radius test on the way past. Leg Control → Restart Current Leg puts the clock back to zero on the leg you are actually flying.
Target GS shows a dash instead of a number
Not a fault — Navigator refuses to show a target it doesn't believe. A dash means the leg has no planned time, the planned time has run out (LEG TIME EXPIRED), fixes have stopped (GPS LOST), or the required speed is so far outside what you are flying that the leg is already decided (LATE · BEST SPEED / EARLY · EXTEND LEG). The label under the dash says which. See when the numbers can't be trusted.
GDL90 shows NO DATA
Work down the list:
- Is the device joined to the receiver's Wi-Fi network?
- Was Local Network permission granted? Check Settings → Navigator. Denying it once is permanent until you change it there.
- Is the receiver actually broadcasting? If another EFB app on the same device sees it, the network is fine and the problem is Navigator's.
- Some receivers only stream after a client announces itself. Navigator announces every 5 seconds — give it 15 before concluding it is not working.
Source cannot be changed mid-flight: end the flight and start again on Device GPS.
The header says GPS LOST
No position fix has arrived for 5 seconds. Both hero cards grey out and stop giving a verdict rather than keep projecting from a frozen position, and the aircraft on the map goes grey.
On Device GPS, check that Location is still allowed and that the device has a view of the sky. On GDL90, the receiver's Wi-Fi has most likely dropped — the GDL90 pill will say NO DATA too.
Staleness is only flagged once you are airborne. A parked aircraft legitimately goes quiet, because device GPS only reports after about 5 m of movement.
The header says STAY IN APP
A GDL90 flight without location permission. Navigator keeps the UDP listener alive in the background by also running CoreLocation (whose fixes it ignores), so without that permission the app has to stay on screen or the receiver's fixes stop arriving. Grant location in Settings → Navigator, or leave Navigator in the foreground.
Known limitations
An older live flight will not re-grade
What happens. You open a live flight saved by an earlier build, tap Edit, and Navigator says the flight's saved track has no timestamps and its timing cannot be recomputed. Grade Flight will not produce a new score.
Why. Live flights used to save a geometry-only LineString with no <when> elements. The
positions survived, the clock did not. Navigator now writes a gx:Track carrying every fix's
real timestamp, so a flight recorded on a current build re-grades exactly — but the older files
cannot be repaired, because the timing was never written down.
Earlier builds papered over this by inventing timestamps one second apart, which is worse than refusing: it produced a plausible-looking score with meaningless times. Navigator now refuses, which also means re-grading can no longer overwrite the flight's original score.
What you still have. The score on the flight is the one it earned in the air, computed from the real track before it was saved, and it is correct in every category. Nothing is lost by not re-grading — the reason to re-grade is to add secret checkpoints or fuel, or to change the scoring radii, and for an older flight those have to be scored by hand against the numbers you already have.
Flights recorded from now on re-grade exactly, and their timing and elapsed points come back identical to the live score.
Other current limitations
- No sync. Flights live on one device. No iCloud, no accounts.
- The moving map is iPad-only, and its chart comes from an undocumented FAA tile service. See sectional charts.
- Chart downloads pause in the background. Keep the Charts screen open while a region downloads.
- GDL90 fixes are stamped on arrival, not by the receiver, so Wi-Fi buffering shows up as jitter in the derived ground speed.
- A flight ended mid-route is saved as finished, with the unflown legs scored.
- Live flights are graded with default radii — only rotation speed is exposed on the live setup screen. See settings.
- Scoring doesn't interpolate passage times. Live leg switching interpolates along the line between fixes; grading snaps to the nearest recorded fix, so precision there is bounded by the track's sample rate — ±0.5 s at 1 Hz, but ±2.5–5 s for a log written every 5–10 s.
- Grading ignores the passages recorded in flight. After an undo or a manual Jump to Leg, the leg times you saw in the air can differ from the ones in the score.
- A route that revisits a waypoint loses the repetition, because routes are read from the waypoint table. See file formats.
Reporting a problem
Send beta feedback through TestFlight, or email michaellachut3@gmail.com. What helps:
- The files. The
.fpland.kmlthat produced the problem — they are the fastest route to reproducing it. - The JSON export. From the live results sheet it contains the inputs as well as the score.
- Device and iOS version, and whether you were on Device GPS or GDL90.
- What you expected the number to be, and why. For a scoring question, that is the whole report.