Users reported an occasional Access Denied error with the Strava service and last week ConnectStats release. Thanks to the bug report, it was fairly easy to get to the specific workflow in the strava service that was confusing ConnectStats. The fix was the easy part. Then I went on to the dreaded “submit and get apple approval” part of the release process.
The review process is a bit of a black box random process. You submit the same application over and over and sometimes it’s approved in a day, sometime faster, sometime slower, and sometime you get “Rejected”…
The old days
In the early days, it would easily take a week to get a new version reviewed and approved. Forget about quick fixes! You really had to plan and test well. Given the nature of the development of ConnectStats and all the issues with Garmin’s Service, I had quite a few dreadful week of waiting for a critical code fix to be approved…
This is not to mention the complexity of getting all your developer and app certificate right, your code signed etc which was quite manual and complicated (don’t ask), starting the upload manually, clumsy web interface, etc, etc
The modern age
These days the system is very smooth. Xcode, the developer tool to build app, takes care of everything. Hit a few buttons, and your app is off to Apple Server for review, all “signed” with all the appropriate automatically downloaded certificates and it lands on a very slick web page on Apple Developer site.
For a while the process ended up being much faster, typically a day from hitting the button on Xcode to getting the app on the App Store to users.
The last few releases of ConnectStats were approved even faster, within a few hours of the submission. Amazing! Now developer don’t have to worry about not having bugs in their release, it’s just so fast to push a fix (kidding!)
So after pushing this new release, I was quite pleased the app was under review within an hour of submission. Smooth.
But then I got the dreaded “App Rejected” email! I hadn’t got one of those in a while… The comment with the rejection:
Before we can continue, we need a video that demonstrates the current version in use on a physical iOS device
That was a new one. But that was in restrospect just the first domino of a series of issues that would make me waste a good hour and my sense of cool…
So I went on to try to record a video of connecting to the test account I had setup for apple.
- Google how to record your iOS Device to refresh my memory
- Go through the login workflow, fight the auto-correct entering the user name of the account, “carefully” type the long password including as required upper case, number, signs, etc…
- Yeah Right. Probably mistyped the password. Restart video and process
- OK, let’s go back to the simulator and debugging. What’s going on?
- something’s wrong. let’s go to the Garmin Web Page and login there.
- Ok, not to panic, let’s just hit “recover password”. “A new password has been sent to your email”
But then after waiting and waiting never go the email. For each account I use a different disposable email to help me with spam, and then after double checking I realised the email for the test account didn’t exist anymore. Tried to recreate, but “failed”. My guess is that my disposable email provider does not allow email to have two dashes (this one does)
At this point I have the test account lock and no more access to the email registered with it.
I ended up giving up, creating a new email and a new garmin test account with a few activities.
The video and new account info is now in Apple’s hand and the latest ConnectStats fix is “Waiting for Review”…
UPDATE: this version of the app was approved 24h after submission, it was in review for a few hours, but the video was never accessed nor was the new account I set up yesterday. I won’t ask. just glad it was approved…