If you downloaded Instapaper, Angry Birds Space, or GoodReader from Apple's App Store over the past couple days, you may have discovered that the app crashed nearly instantly when you attempted to launch it. Those apps--along with more than 100 others and counting, according to Instapaper developer Marco Arment--got bitten by a bug on Apple's end that ended up corrupting functional, approved app updates, causing the crashes.
Apple hadn't responded to Macworld's request for comment by the time we made this story live; we'll update it if the company responds.
Customers who downloaded the Instapaper update in iTunes saw error codes; attempts to run the app on an iPhone or iPad were met with immediate crashes back to the home screen. As you might expect, the updated app was quickly hit with a flurry of one-star reviews.
Worse still: Arment was powerless to fix the bug. The app worked in his testing, and of course it had successfully passed the App Store review process. Through corroborating reports from other developers, coupled with the fact that many users were able to fix the issue by deleting and reinstalling the app a short while later, Arment (and similarly affected developers) concluded that the issue with the affected apps rested entirely on Apple's end.
The problem, those developers report, arises for those iOS users who spot app updates very quickly. On the GoodReader blog, developer Good.iWare writes:
While in theory Apple's servers must be ready to distribute the new app binary by the time they start sending update notifications to users' devices, something goes wrong inside Apple's distribution servers, and customers receive a damaged binary instead of the good one that we've sent to Apple. The exact reason is up to Apple to determine, but it looks like some binary encryption that happens internally in the App Store is only halfway-done at this point, and customers receive incorrectly (or partially?) encrypted binaries to their iPads. Those binaries do not get recognized by iOS as valid App Store executable binaries, and iOS simply refuses to launch them.
Arment, via email, told Macworld that although he obviously has no direct knowledge regarding the specifics of Apple's internal server setup, "it looks a lot like corrupt binaries being published first, then being cached on a bunch of [servers distributed around the world], and eventually fetching fixed, working binaries once those caches expire." After waiting a bit, users who reinstall the affected apps again do indeed find that they start working.
Of course, many users won't know that fault lies with Apple and not the developer--hence all those one-star reviews that Instapaper scored in the moments following the corrupted app's release. Developers, meanwhile, are left to wonder whether Apple will take some sort of action regarding those unearned negative reviews.