Explore enhancements to your spatial business app
2025年6月9日
一句话判断
visionOS 26 的企业 API 迎来实质性的开放 — UVC 视频和 Neural Engine 不再需要企业许可证,新增 Window Follow Mode、内容保护和 Camera Region API,加上自定义共享坐标空间,这是 visionOS 企业级应用的转折点。
这场 Session 讲了什么
Alex Powers 主讲,围绕 visionOS 26 企业 API 的四个方向展开:
更宽的 API 访问:去年需要企业许可证的 UVC 视频访问(通过 Developer Strap 连接 USB 摄像头)和 Neural Engine 访问,今年开放给所有开发者。对象跟踪支持命令行训练,可以自动化模型训练流程。新增 VisionEntitlementServices 框架,用于检查 app 许可证状态和 API 权限。
用户体验增强:Window Follow Mode 允许窗口跟随用户移动(需要 window-body-follow entitlement),适合需要在移动中监控仪表盘的场景。共享坐标空间(Shared Coordinate Spaces)通过 SharePlay 高级 API 或新的 SharedCoordinateSpaceProvider ARKit API,让同一房间内的多个 Vision Pro 用户看到空间中一致的内容。contentCaptureProtected SwiftUI view modifier 可以阻止敏感内容被截屏、录屏或共享。
环境可视化:Camera Frame Provider API 扩展到支持左右单独摄像头或立体声处理。新增 Camera Region API — CameraRegionView(VisionKit)和 CameraRegionProvider(ARKit),允许在窗口中显示真实世界特定区域的放大/增强视频流。
值得深挖的点
-
SharedCoordinateSpaceProvider是给企业开发者的底层控制权。SharePlay 的高级 API 自动处理发现、连接和会话管理,但如果你需要自定义网络基础设施或直接处理设备通信,ARKit 的这个新 provider 让你通过 pull/pushCoordinateSpaceData完全控制数据传输。 -
contentCaptureProtected的应用场景比你想象的广。不只是金融/医疗数据,任何不希望被泄露到外部屏幕的内容都可以保护。它同时支持 2D SwiftUI 视图和 3D RealityKit 场景。 -
Camera Region API 有两种使用路径:
CameraRegionView(SwiftUI + VisionKit,简单场景,窗口位置决定摄像头区域)和CameraRegionProvider(ARKit,底层控制,可以将摄像头区域锚定到 3D 对象)。建议先用高层 API,不够再降级。
代码片段
检查企业许可证权限:
import VisionEntitlementServices
let details = EnterpriseLicenseDetails.shared
guard details.isLicenseValid,
details.isApproved(for: .mainCameraAccess) else {
print("未授权访问主摄像头")
return
}
保护敏感内容:
struct DocumentView: View {
var body: some View {
VStack {
PublicContent()
SensitiveDataView()
.contentCaptureProtected() // 截屏/录屏时自动模糊
}
}
}
Camera Region(SwiftUI 高层 API):
import VisionKit
struct InspectorView: View {
var body: some View {
CameraRegionView(
isContrastAndVibrancyEnhancementEnabled: true
)
}
}
最佳实践
-
企业许可证管理现在更简单了。License 文件在 Apple Developer 账户中直接管理,续期自动推送。用
VisionEntitlementServices在运行时检查权限状态,不要硬编码许可逻辑。 -
Camera Region 的资源消耗与区域大小成正比。Apple 建议 CameraRegionAnchor 占整体可见区域的六分之一或更小。在设计时做好性能评估。
-
Window Follow Mode 是全局行为。一旦 entitlement 生效,设备上所有 app 的窗口都可以使用 follow 模式,不只是你的 app。
-
共享坐标空间的网络传输完全由你控制。你可以选择任何本地网络传输方式(TCP/UDP/自定义协议),ARKit 只负责坐标对齐。
还有什么值得关注
- visionOS 26 的 SharePlay 更新让现有 SharePlay app 自动支持新的共享体验。
- ARKit 新增共享 world anchors,可以精确地将共享内容锚定到房间。
- WidgetKit 首次登陆 visionOS,支持纹理指定和用户接近度感知。
- 如果你用 Blackmagic Camera 和 DaVinci Resolve 制作 Apple 沉浸式视频内容,可以在 app 中或 Safari 网页中直接播放。