Core App

Manage your app's data model and its interactions with the system.



Managing Your App's Life Cycle

Understand how the app delegate manages your app's high-level behavior.

class UIApplication

The centralized point of control and coordination for apps running in iOS.

protocol UIApplicationDelegate

A set of methods that are called by the singleton UIApplication object in response to important events in the lifetime of your app.

Allowing Apps and Websites to Link to Your Content

Use universal links to link to content within your app and share data securely.

func UIApplicationMain(Int32, UnsafeMutablePointer<UnsafeMutablePointer<Int8>?>, String?, String?) -> Int32

Creates the application object and the application delegate and sets up the event cycle.

Device Environment

Responding to Changing Display Modes on Apple TV

Change images and resources dynamically when the screen gamut on your device changes.

class UIDevice

A representation of the current device.

class UITraitCollection

The iOS interface environment for your app, defined by traits such as horizontal and vertical size class, display scale, and user interface idiom.

protocol UITraitEnvironment

A collection of methods that makes the iOS interface environment available to your app.

protocol UIAdaptivePresentationControllerDelegate

A set of methods that, in conjunction with a presentation controller, determine how to respond to trait changes in your app.


class UIDocument

An abstract base class for managing discrete portions of your app's data.

class UIManagedDocument

A managed document object that integrates with Core Data.


class UIPasteboard

An object that helps a user share data from one place to another within your app, and from your app to other apps.

class UIPasteConfiguration

The interface that an object implements to declare its ability to accept specific data types for pasting and for drag and drop activities.

protocol UIPasteConfigurationSupporting

The interface that determines whether a responder object supports paste configuration.

Data Management

Protecting the User’s Privacy

Secure personal data, and respect user preferences for how data is used.

protocol UIDataSourceModelAssociation

A set of methods that defines an interface for providing persistent references to data objects in your app.

User Activities

class NSUserActivity

A representation of the state of your app at a moment in time.


class UIActivity

An abstract class that you subclass to implement app-specific services.

class UIActivityViewController

A view controller that you use to offer standard services from your app.

protocol UIActivityItemSource

A set of methods used by an activity view controller to retrieve the data items to act on.

class UIActivityItemProvider

A proxy for data passed to an activity view controller.

Guided Access

protocol UIGuidedAccessRestrictionDelegate

A set of methods you use to add custom restrictions for the Guided Access feature in iOS.

static func guidedAccessRestrictionState(forIdentifier: String) -> UIAccessibility.GuidedAccessRestrictionState

Returns the restriction state for the specified guided access restriction.


Updating Your App from 32-Bit to 64-Bit Architecture

Ensure that your app behaves as expected by adapting it to support later versions of the operating system.

See Also

App Structure

Resource Management

Manage the images, strings, storyboards, and nib files that you store outside your main executable.

App Extensions

Extend your app's basic functionality to other parts of the system.