---
title: NSApplicationDelegate
framework: appkit
role: symbol
role_heading: Protocol
path: appkit/nsapplicationdelegate
---

# NSApplicationDelegate

A set of methods that manage your app’s life cycle and its interaction with common system services.

## Declaration

```swift
protocol NSApplicationDelegate : NSObjectProtocol
```

## Topics

### Launching Applications

- [applicationWillFinishLaunching(_:)](appkit/nsapplicationdelegate/applicationwillfinishlaunching(_:).md)
- [applicationDidFinishLaunching(_:)](appkit/nsapplicationdelegate/applicationdidfinishlaunching(_:).md)
- [NSApplicationDidFinishLaunching User Info Keys](appkit/nsapplicationdidfinishlaunching-user-info-keys.md)

### Managing Active Status

- [applicationWillBecomeActive(_:)](appkit/nsapplicationdelegate/applicationwillbecomeactive(_:).md)
- [applicationDidBecomeActive(_:)](appkit/nsapplicationdelegate/applicationdidbecomeactive(_:).md)
- [applicationWillResignActive(_:)](appkit/nsapplicationdelegate/applicationwillresignactive(_:).md)
- [applicationDidResignActive(_:)](appkit/nsapplicationdelegate/applicationdidresignactive(_:).md)

### Terminating Applications

- [applicationShouldTerminate(_:)](appkit/nsapplicationdelegate/applicationshouldterminate(_:).md)
- [NSApplication.TerminateReply](appkit/nsapplication/terminatereply.md)
- [applicationShouldTerminateAfterLastWindowClosed(_:)](appkit/nsapplicationdelegate/applicationshouldterminateafterlastwindowclosed(_:).md)
- [applicationWillTerminate(_:)](appkit/nsapplicationdelegate/applicationwillterminate(_:).md)

### Hiding Applications

- [applicationWillHide(_:)](appkit/nsapplicationdelegate/applicationwillhide(_:).md)
- [applicationDidHide(_:)](appkit/nsapplicationdelegate/applicationdidhide(_:).md)
- [applicationWillUnhide(_:)](appkit/nsapplicationdelegate/applicationwillunhide(_:).md)
- [applicationDidUnhide(_:)](appkit/nsapplicationdelegate/applicationdidunhide(_:).md)

### Managing Windows

- [applicationWillUpdate(_:)](appkit/nsapplicationdelegate/applicationwillupdate(_:).md)
- [applicationDidUpdate(_:)](appkit/nsapplicationdelegate/applicationdidupdate(_:).md)
- [applicationShouldHandleReopen(_:hasVisibleWindows:)](appkit/nsapplicationdelegate/applicationshouldhandlereopen(_:hasvisiblewindows:).md)

### Managing the Dock Menu

- [applicationDockMenu(_:)](appkit/nsapplicationdelegate/applicationdockmenu(_:).md)

### Localizing Keyboard Shortcuts

- [applicationShouldAutomaticallyLocalizeKeyEquivalents(_:)](appkit/nsapplicationdelegate/applicationshouldautomaticallylocalizekeyequivalents(_:).md)

### Displaying Errors

- [application(_:willPresentError:)](appkit/nsapplicationdelegate/application(_:willpresenterror:).md)

### Managing the Screen

- [applicationDidChangeScreenParameters(_:)](appkit/nsapplicationdelegate/applicationdidchangescreenparameters(_:).md)

### Continuing User Activities

- [application(_:willContinueUserActivityWithType:)](appkit/nsapplicationdelegate/application(_:willcontinueuseractivitywithtype:).md)
- [application(_:continue:restorationHandler:)](appkit/nsapplicationdelegate/application(_:continue:restorationhandler:).md)
- [application(_:didFailToContinueUserActivityWithType:error:)](appkit/nsapplicationdelegate/application(_:didfailtocontinueuseractivitywithtype:error:).md)
- [application(_:didUpdate:)](appkit/nsapplicationdelegate/application(_:didupdate:).md)

### Handling Push Notifications

- [application(_:didRegisterForRemoteNotificationsWithDeviceToken:)](appkit/nsapplicationdelegate/application(_:didregisterforremotenotificationswithdevicetoken:).md)
- [application(_:didFailToRegisterForRemoteNotificationsWithError:)](appkit/nsapplicationdelegate/application(_:didfailtoregisterforremotenotificationswitherror:).md)
- [application(_:didReceiveRemoteNotification:)](appkit/nsapplicationdelegate/application(_:didreceiveremotenotification:).md)

### Handling CloudKit Invitations

- [application(_:userDidAcceptCloudKitShareWith:)](appkit/nsapplicationdelegate/application(_:userdidacceptcloudkitsharewith:).md)

### Handling SiriKit Intents

- [application(_:handlerFor:)](appkit/nsapplicationdelegate/application(_:handlerfor:).md)

### Opening Files

- [application(_:open:)](appkit/nsapplicationdelegate/application(_:open:).md)
- [application(_:openFile:)](appkit/nsapplicationdelegate/application(_:openfile:).md)
- [application(_:openFileWithoutUI:)](appkit/nsapplicationdelegate/application(_:openfilewithoutui:).md)
- [application(_:openTempFile:)](appkit/nsapplicationdelegate/application(_:opentempfile:).md)
- [application(_:openFiles:)](appkit/nsapplicationdelegate/application(_:openfiles:).md)
- [applicationShouldOpenUntitledFile(_:)](appkit/nsapplicationdelegate/applicationshouldopenuntitledfile(_:).md)
- [applicationOpenUntitledFile(_:)](appkit/nsapplicationdelegate/applicationopenuntitledfile(_:).md)

### Printing

- [application(_:printFile:)](appkit/nsapplicationdelegate/application(_:printfile:).md)
- [application(_:printFiles:withSettings:showPrintPanels:)](appkit/nsapplicationdelegate/application(_:printfiles:withsettings:showprintpanels:).md)
- [NSApplication.PrintReply](appkit/nsapplication/printreply.md)

### Restoring Application State

- [applicationSupportsSecureRestorableState(_:)](appkit/nsapplicationdelegate/applicationsupportssecurerestorablestate(_:).md)
- [applicationProtectedDataDidBecomeAvailable(_:)](appkit/nsapplicationdelegate/applicationprotecteddatadidbecomeavailable(_:).md)
- [applicationProtectedDataWillBecomeUnavailable(_:)](appkit/nsapplicationdelegate/applicationprotecteddatawillbecomeunavailable(_:).md)
- [application(_:willEncodeRestorableState:)](appkit/nsapplicationdelegate/application(_:willencoderestorablestate:).md)
- [application(_:didDecodeRestorableState:)](appkit/nsapplicationdelegate/application(_:diddecoderestorablestate:).md)

### Handling Changes to the Occlusion State

- [applicationDidChangeOcclusionState(_:)](appkit/nsapplicationdelegate/applicationdidchangeocclusionstate(_:).md)

### Scripting Your App

- [application(_:delegateHandlesKey:)](appkit/nsapplicationdelegate/application(_:delegatehandleskey:).md)

### Type Methods

- [main()](appkit/nsapplicationdelegate/main().md)

## Relationships

### Inherits From

- [NSObjectProtocol](objectivec/nsobjectprotocol.md)

## See Also

### Life Cycle

- [NSApplication](appkit/nsapplication.md)
- [NSRunningApplication](appkit/nsrunningapplication.md)
- [NSApplicationMain(_:_:)](appkit/nsapplicationmain(_:_:).md)
- [Managing ongoing background processes in your Mac](appkit/managing-ongoing-background-processes-in-your-mac.md)
