Open Shelf…

Outpost v1.0

Well folks, Outpost has finally been released! Version 1.0 finally hit the App Store yesterday evening-New Year’s Eve. It took a little while for me to figure out how to get a URL to the application in the iTunes store set up, but I finally managed to tweet that just after New Year.

Outpost in the App Store

For those who are interested in how it ended up taking so long, we wound up being rejected no less than three times, each for a crash bugger we had tremendous difficulty reproducing. The first issue appeared to be related to the handling of checkboxes within table views, although we’re not certain. The fixes we supplied seems to prevent that issue from reappearing, at least. The last two rejections appear to have been due to the same issue: something inside the SQLite SQL parsing module was having problems with a statement used to remove deleted objects from the local database. The problem we encountered was that this issue appeared to be completely non-reproducible by ourselves or any of our testers.

The first time this issue reared its head the official recommendation from Apple was that we needed to change the way we specified our provisioning profile for App Store distribution; they told us that we needed to specify these settings in the Target Settings area of Xcode, rather than in the Project Settings area of Xcode. This seemed slightly strange to me, since a little digging around to see iPhone support forums showed a similar post from another Apple application reviewer specifying the exact opposite. Still, we did that, as requested, and resubmitted the application later that day. I also sent e-mails to Developer Technical Support for the iPhone and to the return address from the application rejection e-mail, specifying that we were unsure how to verify that the distribution code signing process had taken place correctly, since we are unable to install applications built for the App Store on our own devices for testing purposes. I also included the output of the code signing command line tool showing that there was no actual difference between the build we had sent them previously and the build we were providing now. Surprisingly enough, we still haven’t heard back from that e-mail.

The second time we were simply informed that there was a crash upon startup, and we weren’t advised to make changes to the provisioning profile settings. Our attempts to reproduce this in-house were fruitless, and none of our prior testers had reported any such issue; in fact all issues we had been informed of were all happening deep inside the application itself. This led me to believe that our testers were not in fact having any trouble launching the application. Not to be deterred, I recruited some new testers and gave them the login details we had provided to Apple. Sadly none of these people could replicate the issue either. Looking through the provided crash log I was only able to find out that the application was crashing inside the SQLite SQL parsing library1. I resolved to make a couple of changes in some code around the area that was making the call which was causing the crash, and resubmit. After all, if that helped we might as well see about providing a new build immediately rather than waiting a few days to see if anyone else could reproduce the issue. Luckily for us, that gambit paid off. Yay!

For those wishing to download the application, please visit the official website for a link to the application itself. If you still see ‘coming soon’, then the page hasn’t quite been finished with all its new elements yet (yeah, you can tell how hopeful we were that our latest fix was going to make it past the review process, can’t you?), so just pop back in a couple of hours.

Thanks very much to David Kaneda for involving me with this project, and for his fantastic user interface designs, which I believe will raise our application above all its competition.


  1. It should be noted that we include a more recent version of SQLite and libxml, in order to get multithreading support from these two libraries. We’ve made no code changes from the official sources, however. 

No Responses

Note that comments are displayed in reverse chronological order with topmost comments being freshest. Subscribe | Comment

Leave a Reply

You must be logged in to post a comment.