July 12, 2012
As many of you know, we released version 2.1 of the app to the App Store yesterday. However, minutes after being live, we started getting bug reports that the update crashes immediately on startup. Since we can’t revert just the update we’ve pulled the entire app from the store temporarily so that we can investigate and none of you will risk losing data.
A little background. To create any given release, we go through roughly the following steps:
- Determine which features and bug fixes should be in the upcoming release
- Program the needed changes
- Test, update, repeat as necessary
Once we’re happy that we have a good, stable version, we start a multi-day process:
- Create the final build
- Run through a battery of regression tests
- Archive the code, the symbolication files, and other release-specific snapshots
Lastly, it gets sent to Apple (shortened due to non-disclosure agreement):
- Submit the app to Apple for approval
- Apple reviews it
- Finally, Apple processes it and submits it to the App Store
What’s Happening in 2.1
For the crashes that we’ve seen (about 80, reported anonymously through TestFlight), we know that the app is crashing soon after startup. More specifically, it’s crashing when the database is first written to.
We’ve tried our best to recreate the problem, but between the 8 iPads we have for testing and multiple upgrade versions, we can’t make it happen. What’s also strange is that the code that is crashing has been there for almost a year now.
In a desktop environment, it seems like this would be related to the write permissions on disk- as if the app doesn’t have access to write to its own directory. But apps live in their own sandbox – the app should have full control, just like it always has.
Where we are now
We’ve pulled the app from the app store temporarily until we can get the problem fixed. While we believe that new installs of the app are unaffected, we don’t want to cause problems for all of our existing users. We can’t control update vs new install – it’s an all or nothing scenario.
We’ve sent emails to the pertinent people and groups within Apple, and have heard back. We’re trying to determine where the problem is now (either on our side or related to the app store process). We’ll update the blog when we know more.