Recently we released version 1.03 of the Madefire app. Our initial release of the Madefire app was limited to the iPad 2 and new iPad using the UIRequiredDeviceCapabilities functionality provided by Apple. With the new release we removed one of the restrictions to allow the app to run on the iPad 1 (in addition to a lot of memory and performance tuning).
We released the app via iTunes Connect and waited for it to process to the App Store. As soon as it did we grabbed an iPad 1 and downloaded it onto the device. Only what we got wasn’t what we expected.
In the App Store we saw the version listed as 1.03 and the requirements “Compatible with iPad.” meaning that we were no longer restricting iPad 1 installs. After running the app on the iPad 1 we noticed things that should not have been happening on an iPad 1. For a moment we thought that we had messed up somehow, that the version we released wasn’t working like the test build. We had a brief moment of panic.
That’s when it dawned on us to check the version number in app. Surprisingly to us it was the previous release, 1.02. In a small window between when the App Store had been refreshed and when we downloaded the app onto our iPad 1 we were able to install the old version that had UIRequiredDeviceCapabilities prohibiting it from being installed.
We were a little concerned with this as we didn’t want any customers downloading the old version on an iPad 1 where performance was less that ideal. Returning to the App Store on the device showed that an update was available for Madefire, so our fears were set aside as any normal users that had happened to download in that brief window of time would also see an update eventually.
It’s odd that there is a chance for a new user to download an old version of your app on update, but what’s even more concerning is that the old version of the app installs and runs even even though it has the device capabilities restrictions on it. It’s something to keep an eye on for sure when dealing with support issues.