How to Fix a Broken Activity Streak
Breaking an activity streak because of laziness is one thing, but breaking it because of a software bug is completely different.
The Problem
Recently, I shattered my first iPhone and a replacement was sent to me. I made sure everything was in order: unpaired my watch, made sure I had an encrypted backup, then did a restore to the new device. Once it was complete, I paired my watch, made sure that my Activity data was there, and then moved on with my life.
Until this morning.
I work out in the mornings and do enough to reach my calorie goal when I'm done--except no streak badge. This was disturbing to me on many levels: my streak was 439 days and is one of the biggest motivators that has helped me make some transformational changes in my lifestyle. It was pretty devastating for me to face the prospect of my streak being broken over a stupid software bug over which I had no real control.
What I Tried
First, I tried resetting both the watch and the phone. Nothing.
Next, I tried unpairing, then repairing the watch. Still nothing.
Then, I tried unpairing and chose a backup from the yesterday. That didn't work, either.
Lastly, I even looked at different Health Kit APIs to see if there was something I could quickly write to try and trigger it. I didn't see anything that would influence the badge system, of course, but it was worth a check. I was desperate!
What Worked
I was depressed and was preparing to accept the reality that the system wasn't going to recognize my streak, even though I knew the truth. I was on a walk meeting with a coworker, periodically glancing at my watch to see if anything would happen. Nothing did.
Then inspiration struck: what if I could retrigger the badge award logic by turning back the date of the phone to yesterday, wait a few minutes, then setting it forward to today? IT WORKED!
I got my streak back--and a renewed determination to keep it, bugs, or not.
Speculative Cause
Without being able to look at Apple's source code, any cause of this issue would be speculative in nature. I can only think of one thing I did that may have caused this issue. After the initial restoration process, I was extremely eager to see my activity data on my watch. So much so, that as soon as the watch finished its pairing process, I immediately opened the Activity app on the watch to set things up. My first tip off that things might have been amiss is that it didn't have any of my personal information prefilled, such as my age, gender, weight, and height. I hurriedly filled that information in, just so that I could move on and see my activity information.
What I think happened is that I beat the synchronization process and this triggered some logic within the app to reset badge info. I immediately was presented with a New Move Goal badge. This was the second clue that should have informed me that the app was in a state that probably reset some logic with the badge system.
When I repaired my watch this morning, I was a little more patient post-pairing and noticed that, not only did my data show up automatically, I didn't have to reenter my personal information. It was ready to go as if it was picking up where it was left off.
By setting the date back and then forward again, I caused the badge system to reevaluate the continued streak logic and award the appropriate badge. Here's hoping I won't have to do this same goofy thing tomorrow. 😣
UPDATE: 8 JUL 2016 6:45am
It's fixed for good!