---
title: System events
framework: swiftui
role: collectionGroup
role_heading: API Collection
path: swiftui/system-events
---

# System events

React to system events, like opening a URL.

## Overview

Overview Specify view and scene modifiers to indicate how your app responds to certain system events. For example, you can use the onOpenURL(perform:) view modifier to define an action to take when your app receives a universal link, or use the backgroundTask(_:action:) scene modifier to specify an asynchronous task to carry out in response to a background task event, like the completion of a background URL session.

## Topics

### Sending and receiving user activities

- [Restoring your app’s state with SwiftUI](swiftui/restoring-your-app-s-state-with-swiftui.md)
- [userActivity(_:element:_:)](swiftui/view/useractivity(_:element:_:).md)
- [userActivity(_:isActive:_:)](swiftui/view/useractivity(_:isactive:_:).md)
- [onContinueUserActivity(_:perform:)](swiftui/view/oncontinueuseractivity(_:perform:).md)

### Sending and receiving URLs

- [openURL](swiftui/environmentvalues/openurl.md)
- [OpenURLAction](swiftui/openurlaction.md)
- [onOpenURL(perform:)](swiftui/view/onopenurl(perform:).md)

### Handling external events

- [handlesExternalEvents(matching:)](swiftui/scene/handlesexternalevents(matching:).md)
- [handlesExternalEvents(preferring:allowing:)](swiftui/view/handlesexternalevents(preferring:allowing:).md)

### Handling background tasks

- [backgroundTask(_:action:)](swiftui/scene/backgroundtask(_:action:).md)
- [BackgroundTask](swiftui/backgroundtask.md)
- [SnapshotData](swiftui/snapshotdata.md)
- [SnapshotResponse](swiftui/snapshotresponse.md)

### Importing and exporting transferable items

- [importableFromServices(for:action:)](swiftui/view/importablefromservices(for:action:).md)
- [exportableToServices(_:)](swiftui/view/exportabletoservices(_:).md)
- [exportableToServices(_:onEdit:)](swiftui/view/exportabletoservices(_:onedit:).md)

### Importing and exporting using item providers

- [importsItemProviders(_:onImport:)](swiftui/view/importsitemproviders(_:onimport:).md)
- [exportsItemProviders(_:onExport:)](swiftui/view/exportsitemproviders(_:onexport:).md)
- [exportsItemProviders(_:onExport:onEdit:)](swiftui/view/exportsitemproviders(_:onexport:onedit:).md)

## See Also

### Event handling

- [Gestures](swiftui/gestures.md)
- [Input events](swiftui/input-events.md)
- [Clipboard](swiftui/clipboard.md)
- [Drag and drop](swiftui/drag-and-drop.md)
- [Focus](swiftui/focus.md)
