Detect when running in simulator (Forerunner 735xt)

I'm looking for a way to detect when running in the simulator.

I know this question comes up every so often, but use case might be a little more interesting (or someone may be able to say "No you don't, do X instead" :)

So, I have an app that downloads FIT Workout files, as PersistedContent on supported devices.

After downloading a workout FIT file, the Forerunner 735xt will not automatically WatchUi.popView() the current view, unlike (I believe) every other model which supports PersistedContent.

As a consequence of this, I have a check in the code for "deviceSettings.monkeyVersion[0] < 3" to conditionally pop the view.

This works fine on a physical device - but the Simulator _does_ popView() when simulating a 735xt (not matching the physical device), so I have to add an additional check to avoid the 735xt workaround to avoid the app just exiting after download :)

Currently I have a config mc file in which I record the simulator deviceSettings.uniqueIdentifier and conditionally disable the popView if it matches, but it would be much cleaner to just be able to test "if running in simulator"

I therefore throw myself on the collective experience of the forum!

Thanks

  • It would be a little bit of extra book-keeping, purely to workaround this issue, but it does seem like the only completely robust way to handle the issue.

    Thanks ( for both fully reading the original post :), and for the suggestion!)

    David