|04:23 pm - 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.