Generally, an iOS application is just blocks of code and a large run loop. It waits for the user’s input and gets interrupted by external events like push notifications, phone calls, button presses, home gestures, and other app life cycle events.