RealityKit – 错误:由于“内部”保护级别,“翻译”无法访问

问题描述

我是 Swift 的新手,我正在使用 RealityKit 为应用程序界面编写 AR 应用程序,并在其中一个视图控制器中封装 SwiftUI 结构,因此我可以创建自定义 AR 界面。 (我不知道这是否是正确的做法,但正如我告诉你的那样,一直在自学并成功做到了现在)。

无论如何,目标是根据用户给定的纬度和经度放置 AR 对象(还没有完成那部分,但我正在使用手动值进行测试),实现这一点的好方法是使用 ARGeoTrackingConfiguration()(根据我阅读的内容)但因为我的设备 (iPhone 7) 没有 A12 仿生芯片,我无法使用它,所以我尝试使用 {{1} ,但到目前为止,当我尝试使用 self.raycast(...).first? 在屏幕上获取触摸位置时,由于“内部”保护级别,我遇到了无法访问“翻译”问题的问题。 worldTransform.translation

ARWorldTrackingConfiguration()

关于如何解决这个问题的任何解释(一个例子会很好)?

此外,对于 ARKit 开发的任何一般建议,是否可以在没有 ARGeoTrackingConfiguration() 的情况下实现具有这些功能的应用程序?

解决方法

  1. 尝试使用 public access level,而不是 internal

     extension ARView { 
    
         @objc public func handleTap(_ sender: UIGestureRecognizer) { }
     }
    
  2. 在不运行 ARGeoTrackingConfiguration() 的情况下使用 ARGeoAnchors 毫无意义。