Fraser Speirs (fraserspeirs) wrote,

Dissecting an iPhone Crash Log

Since we in the UK aren't getting the iPhone until October or so, I've been watching the frenzy across the Atlantic with some detachment. As a developer, though, I'm at no more of a disadvantage than anyone else, thus far. So, when John Gruber posted an application crash log from his new iPhone, it was easily the most interesting part of the whole coverage for me.

Here's the link to his 'first impressions' post, and this is the actual crash log file.

Here are some of the main points of interest:

  • Foundation and CoreFoundation are there.
  • New frameworks:

    • UIKit which, at a guess, is probably the iPhone's version of AppKit.
    • AddressBookUI, presumably some kind of shared contact picker.
    • MobileMail, which I guess is a mail framework.
    • CoreTelephony - phone functions, perhaps? It would be cool if this were made available, particularly to game developers.
    • CoreSurface, which I suppose is the multi-touch driver framework.

  • There appears to be a traditional file system - images and applications are listed by their slash-separated paths.
  • All the frameworks and applications appear to have a UUID associated with them. I suspect this might be part of the mechanism by which Apple maintains the integrity of the software set installed on the device.
  • There's an image called liblockdown.dylib, whose name seems very interesting.
  • The crash report lists the OS Version as "OS X 1.0 (1A543a)" - notice it's not "Mac OS X"
  • Applications appear to be bundles, but simplified bundles. MobileMail's binary is listed at /Applications/MobileMail.app/MobileMail. Notice there's no MobileMail.app/Contents/MacOS/ substructure in that bundle.


Very interesting!
  • Post a new comment

    Error

    Comments allowed for friends only

    Anonymous comments are disabled in this journal

    default userpic

    Your reply will be screened

    Your IP address will be recorded  

  • 24 comments