补充说明:
UIWindowSceneActivation 更接近“同一应用多窗口 / 多实例”,不等同于传统意义的“应用双开”。
开发者可让同一个 App 在 iPhone Duo 的内屏同时打开第二个独立窗口,通常适合并排处理两份内容,例如文件管理、邮件、聊天或浏览器的两个窗口。
传统“应用双开”强调的是两个相互独立的应用容器,而苹果这里是同一 App 由开发者支持的两个界面窗口,通常仍共享同一个 App 安装包、账号会话和本地数据。
实际体验可能是
在一个窗口看邮件列表,另一个窗口打开某封邮件
在一个窗口浏览文件夹,另一个窗口预览或编辑文件
在两个窗口打开同一服务的不同内容或不同会话
具体能否打开第二窗、第二窗显示什么、能否同时进行两个任务,都由该 App 开发者实现决定。
IT之家 9 月 14 日消息,科技媒体 macobserver 昨日(9 月 13 日)发布博文,报道称在关于 iPhone Duo 的技术讲解中,苹果披露了 6 项专属应用程序接口,其中最值得关注的是支持同一应用打开多窗口 / 多实例。
在技术讲解中,苹果公司介绍了至少 6 项 iPhone Duo 专属的 API 接口,其中 UIWindowSceneActivation 支持应用请求第二个窗口。
苹果公司表示 iPhone Duo 是其首款支持原生应用双窗口的机型,但新窗口只能在内屏上打开,不能在外屏上打开。


除了应用双开之外,在本次技术讲解中,苹果还披露了诸多 API 接口细节:
| 功能类别 | 接口名称 | 适用框架 | 接口描述 | 使用限制或开发要点 |
|---|---|---|---|---|
| 折叠屏布局 | ArrangementView | SwiftUI | 为主视图和次视图提供跨折痕布局容器,可采用并排分屏或叠加显示。开发者可用 arrangementViewStyle (.split) 与 (.overlay) 指定样式。 | 可通过 .axes (.horizontal) 限制分屏方向;overlayArrangementZIndex 可响应叠加元素的前后层级变化。 |
| 折叠屏布局 | UIArrangementViewController | UIKit | ArrangementView 在 UIKit 中的对应组件,用于承载主视图与次视图,并在折叠屏内屏上组织分屏或叠加界面。 | 应与保留区域接口配合,用于处理折痕附近的内容排布。 |
| 硬件区域避让 | ReservedRegion | SwiftUI | 用于识别并预留铰链和屏下 FaceTime 摄像头附近的显示空间,避免应用内容与硬件区域重叠。 | 支持查询分割区域与遮挡区域;可使用 reservedRegions (kind:) 获取区域信息。 |
| 硬件区域避让 | UIViewReservedRegion | UIKit | ReservedRegion 的 UIKit 对应接口,用于读取并处理铰链及摄像头占用区域。 | 可配合 view.reservedRegions (kind:) 查询区域;includeInactive 可纳入当前未生效的区域。 |
| 铰链状态交互 | onHingeChange | SwiftUI | 监听设备的铰链状态和连续角度,包括闭合、部分打开与完全打开。 | 苹果建议用于实时交互效果,而非界面布局;示例是按折叠程度改变音高。 |
| 铰链状态交互 | UIHingeInteraction | UIKit | onHingeChange 的 UIKit 对应接口,用于获取铰链开合状态和连续角度数据。 | 页面布局应优先采用 ArrangementView 与 ReservedRegion,而不是直接依赖铰链角度。 |
| 同应用多窗口 | UIWindowSceneActivation | 系统窗口管理 | 请求在内屏打开同一应用的第 2 个窗口,即同一应用可同时运行多个界面实例。 | 新窗口仅能在内屏打开,外屏不支持;iPhone Duo 是首款支持此能力的 iPhone。 |
| 跨屏相机控制 | CameraCaptureAccessory | 相机与场景管理 | 当相机画面在内屏全屏运行时,在外屏显示额外的相机控制项。 | 通过 .sceneAccessory () 配置;适用于内屏取景、外屏操作的拍摄界面。 |
| 虚拟前置摄像头 | AVCaptureDeviceDiscoverySession,position .front | AVFoundation | 将外侧前置摄像头和屏下内侧前置摄像头作为统一的前置摄像头入口。设备开合时,系统会自动切换实际使用的摄像头。 | 配合 AVCaptureDeviceDirectionCoordinator,追踪当前正对使用者的物理摄像头。 |
| 摄像头朝向识别 | AVCaptureDeviceDirectionCoordinator | AVFoundation | 判断当前哪颗物理摄像头正对使用者,为虚拟前置摄像头的自动切换提供方向信息。 | 用于减少应用自行判断设备开合状态和摄像头朝向的需求。 |