iOS 仅导入 ARKit 的视觉框架

iOS Vision framework with only ARKit import

我希望这不是一个愚蠢的问题,但为什么这个 iOS Swift 代码编译成功?

import UIKit
import ARKit

class ViewController: UIViewController {
    
    private let sequenceHandler = VNSequenceRequestHandler()

    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view.
    }


}

我预计不会找到 VNSequenceRequestHandler,因为 Vision 未导入。 ARKit 是否自动导入 Vision 框架?因为如果我右键单击 import ARKit 并单击“跳转到定义”,在 Xcode 中我会看到这个

我不知道SwiftUI来自哪里(这个项目使用UIKit)和Vision来自哪里

非常感谢!

那是因为 ARKit 是一个伞式框架

ARKit 可以访问 UIKit、AVFoundation、SceneKit、SpriteKit、Vision、CoreGraphics 等重要框架的所有 类。当我开发 AR 应用程序时,我只导入 ARKit 模块。考虑一下,目前无法通过 ARKit 访问 SwiftUI。

其中有某种逻辑。导入模型和渲染需要 SceneKit,CoreMotion 和 AVFoundation 是构建 ARSession 的基础。最后,在识别图像或对对象进行分类时,如果没有 ML 算法怎么办?为此,所有支持框架都集成到 ARKit 中。