In the last larger update (2.5) to my most popular app, Try couch to 5k, I made a serious error during packing and included a wrong data load file for the app. Instead of the 9 weeks running program I included a much simpler 4 weeks program from my other app (Run 2mi).
When I realized this - and realized in horror that there is no way in hell a fix is possible without re-installing the app - I immediately removed the app from sale and submitted a new build for app review. I asked the App Review Board for an expedited review which they granted (many, many thanks for that) and it blazed through review.
I removed it from sale because it affected only new installs/customers, not the existing installations.
Late last night (by CET time) I got the email that 2.5.1 build is ready but is “developer removed from sale”. All fine, I re-selected all the stores and push to sale. It went to “Ready for Sale” and at that time went to sleep.
So, now you have the context of the story. This morning, about 10h later, I deleted the copy of the app on my main iPhone and went to install it fresh from the app store. Now, in iOS 6 App Store, when you go to a card for an app you already have installed, it shows you
Install button. I checked the version in the details below, it was
2.5.1. All good. Tapped
Install button and went to home screen waiting for installation to finish. Start the app and…was horrified to see the wrong data again. Deleted the app from the phone, back to App Store app, tap
Install again…again the wrong version. I checked the version string that I display inside my app and it was showing
At that point I panicked that I again packed the wrong file. Checked my code, it was fine. Unpacked the .ipa I sent to Apple, it contained the proper data file.
I also grabbed my iPad and my wife’s iPhone and did a fresh install on them - and it was all fine, proper version was installed. Now, this turned out to be really strange - it looked like CDN cache issue but all 3 devices were on the same IP, and I did an install on all 3 at (more or less) the same time. Only my iPhone would get the wrong version, consistently.
I pinged the always helpful Dave DeLong on Twitter who advised me to go through App Review form and ask for help. Which I did.
Still puzzled and curious, I thought maybe it had something to do with the fact that my iPhone 5 is actually my main dev device. So I restarted the iPhone (just for good measure), made sure that no data files were left on the device after deleting. All was good. Went to App Store app again to re-install.
This time though, I did not immediately leave the App Store app as I usually do when the button changes to
Installing. And then I saw the strangest thing.
Reguarly, when you install an app, the button on the app card in App Store app changes to
Open. But here, on my iPhone only, it changed to
Update. I went to my app, it was 2.5 version. Back to App Store app, tap the
Update button and this time after
Installing it changed to
Open. Tap that and finally I had 2.5.1 version.
I deleted my app again, went back to re-install the app and this time I directly got the 2.5.1 build, there was no
Update step in the middle.
I have no idea why this happened and I hope that this is only me, meaning I hope that none of my customers would get into this weird issue.
It seems that one circle with Install/Update fixed this caching issue, wherever it was happening. I would still like to know why this happened though, so I can prevent it, if possible. It might save me from a lot of stress.