iOS App Life Cycle

iOS App Life Cycle

Mobile app developers have the option to build a wide variety of mobile apps for iOS platform. But no developer can make the iOS app popular and profitable without understanding its overall behaviour. Each time a user runs an iOS app, the application goes through a number of states – active, inactive, not running, suspended, and backgrounds. These states of iOS app life cycle impact the overall behaviour of the mobile app. iOS further calls specific app life cycle methods according to the current state of app life cycle. Also, a developer can deliver a variety of events in the iOS app. Hence, it becomes essential for each developer to understand the iOS app life cycle states and events.

Important Execution States of iOS App Life Cycle

An iOS app keep transiting from one execution state to another based on certain events or user actions. For instance, if a user receives a phone call while accessing an app iOS automatically changes the execution state. Likewise, iOS also changes the execution state automatically, when a user clicks on the home button while accessing the mobile app. iOS further responds to the change in execution state by calling the most appropriate methods of the app delegate object. However, an iOS app can remain one of the five execution states.

Not Running:

An app remains in not running state till the user launches the app. Also, it enters into not running state each time the underlying system terminates the app.


An app enters into inactive mode temporarily when each time the execution state changes. When it is in inactive mode, the app runs in the foreground. But it does not receive or respond to any event.


This is the normal execution mode for each foreground and running iOS app. An app remains in active state when the users access it, running in the foreground, and receiving events.


Sometimes the system transit the iOS app to suspended mode without sending any notification. When an app is in suspended execution state, it runs in the background. But it does not respond to any event or execute any code.


An app remains in background mode while the system suspends the app. Also, an app can transit into background execution state when it requires additional execution time. A user even has option to launch the iOS app in background execution mode directly. While in background execution state, the iOS app keeps executing code.

Common Events in iOS App Life Cycle

During the use, an iOS app can transit from one execution mode to another. Also, the developers can deliver a variety of events in the same app. However, they can deliver the events in a number of ways. Some of the events can be delivered directly through the app’s main run loop. At the same time, certain events delivery happens through a delegate object or passed to a block. Each event further targets a specific responder object and can be handled by the responder objects of the iOS app.


The most common event is delivered to the view objects. As responder objects, views do not handle touch events. But the touch events are forwarded through views for further processing.

Remote Controller:

The remote controller events initially target responder object. These events normally occur when a user controls media playback. However, certain headphone and accessories actions can also trigger remote controller events.

Accelerometer, Magnetometer, and Gyroscope:

These events triggers through hardware like accelerometer, magnetometer and gyroscope. A developer needs to deliver these events to specific and designated objects for processing.


An iOS app developer can deliver a location event to several designated objects. But iOS requires app developers to register the location events through the Core location framework.


The redraw event does not contain any event object. But it needs to be delivered to the view which has to be updated or altered. The event simply notifies the view to update on its own.

However, the developers must remember that iOS app life cycle keeps changing from time to time. For instance, iOS 4 completely transformed iOS app life cycle by supporting background code execution. It even supported several new states in addition to active and inactive. Hence, the developers need to monitor the changes in iOS app life cycle. At the same time, they also need to manage various life cycle states efficiently to make the iOS app deliver outstanding user experience.

Spread the love
  • 2

Leave a Reply

Your email address will not be published. Required fields are marked *

32 − twenty nine =

We Are Social

Latest Posts