How Do Alarm Clock Apps Work on iOS?
Rise’s surprising solution is to opt out of iOS multitasking altogether. What was presumably intended by Apple as a temporary option for apps when multitasking was first introduced in iOS 4.0 is still available.
[…]
Rise takes advantage of a subtle difference between the pre- and post-multitasking environments: unlike apps that support multitasking (which get suspended in the background when the device gets locked), an app that runs in the pre-multitasking compatibility mode keeps running. All the app has to do is wait for the alarm time and execute its custom code.