有关将新 iOS 设备的屏幕参数添加到 Cardboard SDK 和 XR 插件的说明

每年都会发布新的 iOS 设备。为了使 Cardboard SDK 或 Cardboard XR 插件能够与这些新设备搭配使用,请更新您所用项目的 resolutions.csv 文件。

信息来源

  • 您可以从 Apple Wiki 获取型号字符串。
  • DPI(也称为 PPI)值可从 Apple 的技术规范中获取(例如,请参阅 iPhone 16 规范)。

需要更新的内容

根据您使用的是 Cardboard SDK 还是 Cardboard XR 插件,更新相应的 resolutions.csv 文件:

两者都在运行时从 sdk.bundle 内的 resolutions.csv 动态加载设备屏幕参数。

  • 向上游的 Google Cardboard 贡献新的设备参数时,请向 Cardboard SDK 和 Cardboard XR Plugin 代码库提交拉取请求(它们使用 LINT.IfChange / LINT.ThenChange 保持同步)。
  • 对于在 Library/PackageCache/ 中使用不可变 UPM 软件包的本地 Unity 项目,开发者可以直接在导出的 Xcode 项目中的 Frameworks/com.google.xr.cardboard/Runtime/iOS/sdk.bundle/resolutions.csv 下编辑 resolutions.csv。

resolutions.csv 的格式

为每部设备添加一个新行,并使用以下以逗号分隔的格式:

identifier,device_name,dpis
  • identifier:从 Apple Wiki 获取的硬件型号字符串,其中所有英文逗号都替换为英文句点(例如,iPhone17,3 变为 iPhone17.3)。
  • device_name:设备的营销名称(例如 iPhone 16)。此名称不得包含英文逗号,因为运行时解析器(screen_params.mm 中的 stringSplit)会按英文逗号拆分为固定的 3 元素数组,且不支持引用;嵌入的英文逗号会使 DPI 令牌发生位移,并导致其评估结果为 0.0。
  • dpis:屏幕像素密度(以 DPI/PPI 为单位),后跟 f(例如 460.0f)。

条目示例

iPhone17.3,iPhone 16,460.0f
iPhone17.4,iPhone 16 Plus,460.0f
iPhone17.1,iPhone 16 Pro,460.0f
iPhone17.2,iPhone 16 Pro Max,460.0f