swift - 仅导入 ARKit 的 iOS Vision 框架

标签 swift xcode swiftui arkit apple-vision

我希望这不是一个愚蠢的问题,但是为什么这个 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,因为未导入 VisionARKit 是否自动导入 Vision 框架?因为如果我右键单击 import ARKit 并单击“跳转到定义”,在 Xcode 中我会看到这个 Situation when I jumped to ARKit definition from Xcode

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

非常感谢!

最佳答案

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

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

这里面有一定的逻辑。导入模型和渲染需要SceneKit,CoreMotion和AVFoundation是构建ARSession的基础。最后,在识别图像或对物体进行分类时,我们怎么能没有机器学习算法呢?为此,所有支持框架都集成到 ARKit 中。

关于swift - 仅导入 ARKit 的 iOS Vision 框架,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68380176/

相关文章:

ios - 在 iOS 中识别未知的 GSM 调用

在开始初始化之前使用的 swift 3 变量

ios - 为什么我没有通过 CoreBluetooth 获得配对设备的实例?

ios - 如何合并两个仅包含唯一值的字典

iphone 应用程序 - 如何只获取一次当前位置并将其存储以用于另一个功能?

swift - 如何在 macOS 上使用 NSViewRepresentable 在 SwiftUI 应用程序中使用 CAEmitterLayer

XCode 6 GM 占用磁盘空间和内存

xcode - 让 lldb 的工作目录为 XCode 的项目目录

ios - 如何将按钮添加到 iOS 14 小部件

swift - 登录屏幕 SwiftUI