Actually, the updated version of the SMS extractor for iPhone was already rolled out on September 25th, but I haven’t gotten around to blogging about this, so here goes.
Apple made a lot of changes to the SQLite container (especially field names and references) so I also had to apply a few changes to the extraction software. Unfortunately it is on a path of getting cluttered because there are many special cases. However atm I don’t have the time and motivation to turn this into a very clean program. For the time being it’s doing its job: extracting every single text message for free :).
As a matter of fact, Apple did make alterations to the SQLite container that do actually make sense. Where iOS 5 was calling iMessages still by their codename “madrid” iOS 6 actually has a type identifier telling whether a message is an iMessage or a regular text message. Also they added a field is_from_me, which obviously tells you that a message was outgoing (instead of using undocumented flag codes). Unfortunately they also changed the way of saving the sender/recipient, so the software had to be adapted to that, as well.
Bottom line, Apple’s way of storing information about the text message was improved in iOS6, but I guess I will have to introduce a few new special cases for every (major) version they release.
You can retrieve the code of the updated standalone version here.
In case you need instructions on how to work with the standalone version, please refer to the very original release post.
Also, naturally, the update was included in the online version of the extractor!