The one-time Xcode setup to get the app onto a physical iPhone and Apple Watch.
com.jasoneplumb.cue /
.watchkitapp) are already set. A personal team’s provisioning profile
expires every 7 days, after which the app stops launching until you
re-run from Xcode: fine for the first ride or two, but the $99/yr
Developer Program (year-long profiles) is worth it before a 10-ride
study.allowsBackgroundLocationUpdates = true),
deliberately not set yet because enabling it without the capability
crashes. Until both land, rides require the screen on and the phone
mounted or unlocked in a pocket.WKExtendedRuntimeSession, which needs its session type declared
under the watch target’s Background Modes. Apple’s extended-runtime
types (self-care, mindfulness, etc.) are all an awkward fit for a
bike ride; a workout session (the HealthKit capability named in the
RFC) is the better fit and is the remaining decision to make at
provisioning time. Either option keeps the watch awake enough to
deliver the tap.osm_tag_audit.sh), AirDrop or save the JSON to the phone, and load it
via the app’s “Import region…” picker. It parses, scores, and caches,
then the Start Ride button goes live.