• Online, Self-Paced
Course Description

App extensions provide users with access to an app's functionality. In this course, you'll learn how to incorporate app extensions for sharing, photo editing, and custom keyboards. The course covers how to implement different search techniques and how to integrate HealthKit, users' contacts, and web content in your apps. The course also covers how to implement multitasking in your iOS app. It also covers how to localize your apps and incorporate right-to-left language support. You'll learn how to use view debugging and TestFlight to test your apps. You'll learn about implementing app thinning for multiple platforms and how to incorporate app icons and launch screens.

Learning Objectives

App Extensions

  • start the course
  • implement an Action extension in an iOS app
  • create a custom keyboard using an iOS app extension
  • implement a document picker using an app extension in iOS
  • enable third-party photo and video editing with a photo editing extension in iOS
  • implement a Share extension in an iOS app
  • create a Today widget in an iOS app

Sharing and Connecting

  • integrate HealthKit with an iOS app and read from the health store
  • integrate HealthKit with an iOS app and write to health store
  • implement the Contacts and Contacts UI frameworks in iOS 9 apps
  • use SFSafariViewController to display web content in an iOS 9 app


  • use NSUserActivity APIs to make app activities and states searchable
  • use Core Spotlight APIs to make app content searchable
  • use web markup to make app content searchable
  • use universal links in an iOS 9 app


  • implement slide over in iOS apps
  • implement split views in iOS apps
  • use picture in picture (PIP) in iOS 9 apps


  • implement localization in an iOS app
  • implement support for right to left languages in an iOS 9 app

Debugging and Testing

  • use view debugging with iOS apps
  • use TestFlight with Apple Connect for beta testing of iOS apps
  • describe how to implement app thinning to develop apps for multiple platforms

Preparing an App for Deployment

  • add app icons to an iOS application
  • incorporate a launch screen in an iOS app

Practice: App Extensions

  • practice incorporating an app extension for sharing and photo editing

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


If you would like to provide feedback for this course, please e-mail the NICCS SO at NICCS@hq.dhs.gov.