• Online, Self-Paced
Course Description

Understanding and managing the life cycle of an iOS app is an important part of its successful development. In this course, you will learn about the architecture of an iOS app and its execution states. You'll learn how to manage transitions to different states, such as going to the background or foreground. You'll also learn how to manage apps running in the background, including how to implement tasks, download content, and provide notifications.

Learning Objectives

App Architecture and Execution States

  • start the course
  • describe the structure of an MVC-based iOS app
  • describe the Main run loop in an iOS app
  • describe the execution states of an iOS app
  • step through the execution states of an iOS app

Managing State Transitions

  • handle launches of an iOS app
  • configure an iOS app to launch in landscape mode
  • configure an iOS app to access app-specific data files at first launch
  • handle temporary interruptions in an iOS app
  • handle an iOS app as it moves from the background to the foreground
  • handle an iOS app as it moves from the foreground to the background
  • describe state preservation and restoration in iOS apps
  • enable state preservation and restoration in iOS 8 apps
  • implement Handoff in iOS apps in order to enable transfer of activities from one device to another

Background Processing

  • implement background processing to execute finite-length tasks in an iOS app
  • download content in the background in an iOS app
  • implement long-running tasks in iOS applications
  • check for and fetch small amounts of content opportunistically within iOS applications
  • use local notifications to get a user's attention from an iOS app running in the background
  • understand how local notifications are delivered to apps that may be in various states
  • configure an iOS app to prevent it running in the background

Practice: App State Transitions

  • practice handling iOS app state transitions

Framework Connections

The materials within this course focus on the NICE Framework Task, Knowledge, and Skill statements identified within the indicated NICE Framework component(s):

Specialty Areas

  • Software Development