Virtual Cycling Trainer app icon

Virtual Cycling Trainer

Version History

1.3.2

  • Workout view now defaults to dark mode. You can change this in Preferences.
  • Added No Control mode for older trainers that use proprietary control systems but still provide standard power and cadence sensors, so workouts can be recorded without controlling the trainer.
  • Live Activity timer fixes and reliability improvements.
  • FTP (Functional Threshold Power) now also loads from Apple Health.
  • Added simple watchOS complications so you can quickly open a workout.
  • Device name overrides now appear consistently across the app.
  • In light mode workout view, timer and pause button colors are now easier to read.
  • Zero distance no longer displays as cm or inches.

1.3.1

  • Improved controls sync between Apple Watch and iPhone.
  • Made workout controls more responsive and more accurate.
  • Improved workout start error handling on Apple Watch.
  • Added a proper Devices screen button in workouts on both Apple Watch and iPhone.

1.3.0

  • Control your trainer right from your watch with new trainer controls.
  • Connect your trainer directly to your watch, with no iPhone required.
  • iPad support is here: connect your trainer and train on the big screen.
  • Workout now shows the connected trainer during the session.
  • On iPhone, landscape workout view now shows the system clock.
  • Improved visibility of key workout text in light mode, including the timer and pause button.
  • Added a loading indicator when opening workout details.
  • Fixed live sensor data in the Devices screen to show values only from the current sensor.
  • The app now occasionally asks for a review after you finish a workout.
  • Fixed an issue where some Bluetooth devices could remain stuck in the Connecting state.
  • Apple Watch now shows an overlay when starting a workout and syncs the start timer with the iPhone.
  • Session list now updates correctly after completing a workout.
  • Devices list improvements: correct device names are shown instead of “unknown device”, and you can swipe right to open device configuration.
  • Various smaller fixes and FTMS reliability improvements.

1.2.1

  • Device configuration screen now shows trainer data that was previously filtered out.
  • Workout summary once again includes State of Mind.
  • Trainer-reported calories now update correctly after pausing and resuming a workout.
  • Various smaller fixes and stability improvements.

1.2.0

  • New Sessions view to browse past workouts and their metrics.
  • Redesigned iOS summary view to match past workout details, with support for sharing as an image.
  • Clearer error message when starting a workout while the Watch is locked.
  • The "Prepare Watch" step can now be skipped when starting a workout.
  • Fixed trainer heart rate sensor still being assigned when disabled in device configuration.
  • FTMS reliability improvements; reduced background activity when no workout is active and trainer is connected.

1.1.0

  • Trainer now has per-device configuration, shown when you first connect a device. You can test the device and preview live data from this screen.
  • Main view now shows all connected devices (e.g. heart rate sensor) when a trainer is connected.
  • Workouts on iPhone now display activity rings during the workout.
  • watchOS app now has Preferences to override some settings locally on the watch.
  • Unassigning the trainer’s heart rate source is now correctly saved across app launches.
  • Improved device connection status: a yellow indicator appears when the app couldn’t request device control (you may need to restart the device).
  • When connection to the trainer fails, an error is shown instead of repeated reconnect attempts.
  • Trainer-reported calories can now be used instead of Apple Health’s built-in calorie calculation.
  • Reworked workout starting flow with a fullscreen status overlay.
  • Short workouts under 3 minutes are now discarded by default; this can be overridden in Preferences.
  • Free workout limit now counts only workouts of 5 minutes or longer.
  • Fixed tap area in Bluetooth devices list.
  • Bluetooth devices list now shows connection progress.
  • Bluetooth devices list now displays proper error messages when a device needs to be re-paired in system settings.
  • Fixed crash caused by FTMS data race condition.
  • Workout now automatically hides and resumes when trainer disconnects and reconnects.
  • Simplified Bluetooth devices list by removing technical details.
  • Various smaller Bluetooth and FTMS reliability improvements.

1.0.3

  • Fixed crash when editing heart rate zones.
  • Fixed crash when editing power zones.
  • Fixed decimal formatting throughout the app.
  • Improved FTMS stack error handling.

1.0.2

  • Happy New Year! Keep cycling and stay active in 2026.
  • Improved workout mirroring reliability by following Apple's recommended practices; mirroring failures should no longer occur.
  • Added failsafes for mirroring errors; if mirroring fails, the app displays an error message while keeping the workout screen visible.
  • Prevent iPhone screen from auto-locking during active workouts. This can be disabled in Preferences.
  • Added More Apps section to Preferences.
  • Email contact button added to Preferences.
  • Added Advanced preferences: pause workout on trainer disconnect, attaching logs to email, and exporting raw logs.
  • Improved Bluetooth and FTMS stack stability with various bug fixes and optimizations.
  • Added support for total distance received from the trainer, instead of calculating from speed.

1.0.1

  • Added a toggle to prefer Bluetooth heart rate sensors; turn it off to keep using Apple Watch/iPhone heart rate.
  • Ignore zero-value readings from external heart rate sensors and fall back to HealthKit more reliably when Bluetooth data drops out.
  • Auto-reconnect assigned Bluetooth devices as soon as they come online, without duplicate connection attempts across categories.
  • Live sensor readings (power, cadence, heart rate) now surface inline in the Devices list when connected.
  • Heart rate samples from Bluetooth devices now carry device info into HealthKit for better provenance.

1.0.0

  • Initial release.

← Back to Virtual Cycling Trainer