Run your iPad and iPhone apps in the Shared Space
System & Services 进阶 20m

在 Shared Space 中运行 iPad 和 iPhone App

Run your iPad and iPhone apps in the Shared Space

2023年6月5日

在 Apple 官方观看视频

一句话判断

大多数 iPad 和 iPhone App 在空间计算设备上开箱即用,只需关注手势适配、ARKit 兼容性和 Info.plist 配置即可。

这场 Session 讲了什么

Kellie 系统讲解了 iPad/iPhone App 在新平台上运行的兼容性情况:

开箱即用。系统优先展示 iPad 版本(横屏模式),iPhone-only App 以竖屏比例显示。如果 App 支持多方向,窗口右上角会显示旋转按钮。拖拽窗口角落可以缩放,系统保持宽高比不变。用户的交互方式(注视+捏合、直接触摸、蓝牙触控板、手柄)都会被转换为 App 已有的事件类型。

系统级支持。Touch ID/Face ID 自动适配为 Optic ID;系统视图(文档管理器、照片选择器)自动匹配平台外观;Look to Dictate(注视麦克风图标后语音输入)是一个新能力。

功能差异。没有设备旋转的概念(Info.plist 新增 UIPreferredDefaultInterfaceOrientation);手势最多支持两个同时触点;ARKit 的旧 API 不可用,需要用新 API 重建;摄像头需要先验证可用性再使用。

部署。安装 xrOS SDK 后,Xcode 自动添加”xrOS Device (Designed for iPad)“运行目标。所有兼容的 App 会自动出现在 App Store 上。

值得深挖的点

手势的双触点限制。自然输入每只手算一个触点,所以同时最多两个。系统手势(两个触点以内)全部兼容,但自定义手势识别器可能需要调整。

Look to Dictate 的启用策略。这个功能默认对 iPad/iPhone App 关闭,需要开发者主动启用。因为它会改变搜索栏的 UI(放大镜变成麦克风),Apple 给了开发者验证行为的时间。启用后是跨平台安全的——在 iOS/iPadOS 上是空操作。

ARKit 是最大的破坏性变更。旧版 ARView 和 ARSession 在新设备上不工作。如果你的 App 依赖 ARKit,需要用新的空间计算 API 重建这部分功能。

代码片段

// 在 Info.plist 中设置默认界面方向
// 新增键(仅影响空间计算平台)
key: UIPreferredDefaultInterfaceOrientation
value: UIInterfaceOrientationLandscapeLeft

// 启用 Look to Dictate(UIKit)
searchBar.isLookToDictateEnabled = true

// SwiftUI 中启用
.searchable(content: $searchText) {
    // 搜索内容
}
.searchDictationBehavior(.on)
// 安全检查摄像头可用性
let discoverySession = AVCaptureDevice.DiscoverySession(
    deviceTypes: [.builtInWideAngleCamera],
    mediaType: .video,
    position: .unspecified
)
// 新设备有更多摄像头,但并非所有都对 App 可用
let availableCameras = discoverySession.devices
if !availableCameras.isEmpty {
    // 安全使用摄像头
}

最佳实践

  • 用 availability 检查来处理平台差异,而不是硬编码平台判断。
  • 在 Info.plist 中确认 UISupportedInterfaceOrientationsUIRequiredDeviceCapabilities 的值是否准确。
  • 测试自定义手势在双触点限制下的表现。
  • 如果你的 App 用了 ARKit,评估是做”Designed for iPad”移植还是完全重写。
  • 安装 xrOS SDK 后直接 build & run,大多数 App 不需要任何改动。

还有什么值得关注

  • “Re-imagine your ARKit app for spatial experiences” 讲了 ARKit 的新 API
  • “Meet Core Location for spatial computing” 讲了定位适配
  • “Explore App Store Connect for spatial computing” 讲了上架管理
  • 系统界面(文档管理器、照片选择器)会自动匹配平台外观,不需要额外适配
WWDC 2023