每年都会发布新的 iOS 设备。为了使 Cardboard SDK 或 Cardboard XR 插件能够与这些新设备搭配使用,请更新您所用项目的 resolutions.csv 文件。
信息来源
- 您可以从 Apple Wiki 获取型号字符串。
- DPI(也称为 PPI)值可从 Apple 的技术规范中获取(例如,请参阅 iPhone 16 规范)。
需要更新的内容
根据您使用的是 Cardboard SDK 还是 Cardboard XR 插件,更新相应的 resolutions.csv 文件:
- Cardboard SDK:
sdk/qrcode/ios/sdk.bundle/resolutions.csv - Cardboard XR 插件:
Runtime/iOS/sdk.bundle/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