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

AR应用Anchor检测在iOS14.7及以上版本运行异常问题求助

问题根因

iOS 14.5之后RealityKit对Reality Composer项目的默认锚点管理逻辑做了迭代,默认开启了「重复识别自动重载场景」「锚点丢失自动移除内容」的规则,你当前直接加载RC锚点添加到场景使用的是默认配置,所以会出现高版本系统的适配问题。

可行解决方案

方案1:直接修改Reality Composer项目配置(无需改代码,优先尝试)

  • 打开你的Enigme1 RC项目,选中绑定图像锚点的Debut场景
  • 右侧属性面板找到「行为」分类,取消勾选识别到目标时重载场景选项
  • 找到「锚点设置」分类,勾选锚点丢失时保留场景内容选项
  • 导出RC项目替换工程内的原有文件即可生效

方案2:代码层面手动接管锚点管理(改RC无效时使用)

替换你现有ViewController的代码即可:

import RealityKit
import ARKit

class ViewController: UIViewController {

    @IBOutlet var arView: ARView!
    // 全局持有RC锚点避免被系统自动释放
    var debutAnchor: Enigme1.Debut?

    override func viewDidLoad() {
        super.viewDidLoad()
        
        // 自定义ARSession配置,覆盖默认规则
        let trackingConfig = ARImageTrackingConfiguration()
        guard let referenceImgs = ARReferenceImage.referenceImages(inGroupNamed: "AR Resources", bundle: nil) else {
            return
        }
        trackingConfig.trackingImages = referenceImgs
        // 单图像识别场景设最大追踪数为1,避免误识别触发重复加载
        trackingConfig.maximumNumberOfTrackedImages = 1
        trackingConfig.isAutoFocusEnabled = true
        arView.session.run(trackingConfig, options: [.removeExistingAnchors, .resetTracking])
        
        // 加载RC锚点
        guard let anchor = try? Enigme1.loadDebut() else { return }
        debutAnchor = anchor
        
        // 手动指定锚点规则,关闭RC默认的自动管理
        anchor.anchoring = AnchoringComponent(.image(group: "AR Resources", name: "你绑定的参考图像名称"))
        arView.scene.anchors.append(anchor)
        
        // 监听锚点状态,手动控制内容显隐而非直接移除
        arView.scene.subscribe(to: SceneEvents.AnchoredStateChanged.self, on: anchor) { [weak self] event in
            guard let self = self else { return }
            // 锚点识别到显示内容,已加载过不会重复重启
            self.debutAnchor?.isEnabled = event.isAnchored
        }.store(in: &arView.scene)
    }
}

补充注意事项

  • Xcode 13.1对应iOS 15 SDK,建议将项目部署目标设置为iOS 14.0,同时Reality Composer导出时选择兼容iOS 14.0及以上版本
  • 工程内的参考图像保证分辨率≥300dpi、对比度足够、无重复纹理,可以进一步降低误识别概率

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 15:54:08