6 系统事件
2 分钟阅读
原文链接: https://developer.apple.com/documentation/swiftui/system-events
6 系统事件
响应打开 URL 等系统事件。
概述
指定视图和场景修饰符,可以指明应用如何响应某些系统事件。例如,你可以用 onOpenURL(perform:) 视图修饰符定义一个动作,当应用收到通用链接时执行;也可以用 backgroundTask(_:action:) 场景修饰符指定一个异步任务,以响应后台任务事件(例如后台 URL 会话完成)。

发送和接收用户活动
- 用 SwiftUI 恢复应用状态 — 通过保留用户当前的活动,为用户提供应用连续性。
- userActivity(:element::) — 声明某种用户活动类型。
- userActivity(:isActive::) — 声明某种用户活动类型。
- onContinueUserActivity(_:perform:) — 注册一个处理器,以响应应用收到的用户活动。
发送和接收 URL
- openURL — 一个打开 URL 的动作。
- OpenURLAction — 一个打开 URL 的动作。
- onOpenURL(perform:) — 注册一个处理器,以响应应用收到的 URL。
处理外部事件
- handlesExternalEvents(matching:) — 指定哪些外部事件会让 SwiftUI 打开被修改场景的新实例。
- handlesExternalEvents(preferring:allowing:) — 在场景已经打开的情况下,指定该视图所在场景处理哪些外部事件。
处理后台任务
- backgroundTask(_:action:) — 当系统提供后台任务时运行指定的动作。
- BackgroundTask — 你的应用或扩展可以处理的后台任务种类。
- SnapshotData — 快照后台任务的关联数据。
- SnapshotResponse — 应用对快照后台任务的响应。
导入和导出可传输项目
- importableFromServices(for:action:) — 允许从服务导入项目,例如 macOS 上的“接续互通相机”。
- exportableToServices(_:) — 导出项目以供快捷指令、快速操作和服务使用。
- exportableToServices(_:onEdit:) — 导出可读写项目以供快捷指令、快速操作和服务使用。
使用项目提供者导入和导出
- importsItemProviders(_:onImport:) — 允许从服务导入项目提供者,例如 macOS 上的“接续互通相机”。
- exportsItemProviders(_:onExport:) — 导出一个只读项目提供者,以供快捷指令、快速操作和服务使用。
- exportsItemProviders(_:onExport:onEdit:) — 导出一个可读写项目提供者,以供快捷指令、快速操作和服务使用。