The "last line of defense" for software broken by iPhone firmware upgrades.

This can not make software from 1.x work on 2.x: nothing can, nothing will, just give up the dream now.

The whole point of Cydia (as oposed to Apple's App Store) is that software available here can link against any library or use any piece of hardware it needs to work. This lets us have theme engines and video recorders, provide daemons like SSH or VNC, and even replace core functionality.

While exciting (and powerful), this cavalier attitude to software puts us at the mercy of Apple's engineers: as they upgrade their code we have to keep up. For extensions that bury themselves deep in Apple's code this can be serious, but (luckily) for most applications it is often as simple as a single word that needs be changed.

Unfortunately, these upgrades often come at unpredictable times and not everyone has access to Apple's firmware before it is released to the general public. This makes it difficult to guarantee that all software is ready for when users need it most.

This package's (lofty) goal is to solve that problem: providing a backwards compatibility layer that allows applications to more easily transition to the new firmware. Rather than have a flag day where "nothing works", the major issues can be codified into this library. Thanks to Mobile Substrate, it can then be safely and seamlessly injected into (almost) any process that needs it.

[UIApplication
addStatusBarImageNamed:(id)
removeOnAbnormalExit:(BOOL)]

[UIApplication
addStatusBarImageNamed:(id)
removeOnExit:(BOOL)]