You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

RealityKit重置ARSession后GeoAnchors锚点信息残留至URL问题咨询

问题根因

苹果官方的GeoTrackingExample项目内部维护了一个全局的trackedAnchors数组(或等价的自定义存储结构)来记录所有放置的地理锚点,默认提供的重置AR Session逻辑仅执行了以下操作:

  • 调用session.run(_:options:)并传入.removeExistingAnchors参数清除ARSession层面的锚点
  • 移除ARView中所有锚点对应的展示实体
    没有同步清空全局存储的自定义锚点数组,保存锚点时项目会遍历这个全局数组生成带锚点路径的URL,因此旧锚点信息会残留到URL中。
需要补充的清除操作

在重置AR Session的逻辑中新增以下步骤:

  1. 清空项目全局存储所有锚点的自定义数组,对应示例代码中的AppState类里的geographicAnchors属性:
AppState.shared.geographicAnchors.removeAll()
  1. 清空当前生成锚点URL的临时缓存数据,如果项目使用了URLQueryItem临时存储锚点参数,同步清空对应的query数组:
// 若使用临时query数组存储锚点参数,执行清空
anchorQueryItems.removeAll()
  1. 重置用于生成锚点唯一标识的自增计数器(如果项目用了自增ID区分不同锚点),避免新旧锚点ID重复。
关于物体添加是否修改URL的说明

物体添加到ARView本身不会直接修改URL,修改URL的动作是项目主动触发的:每次放置物体时,项目会把新锚点的坐标、标识等参数拼接成query项追加到URL的query字段中,仅在放置锚点、保存锚点两个节点会触发URL的修改操作。


内容的提问来源于stack exchange,提问作者Myoung

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.11 13:27:02