我希望这不是一个愚蠢的问题,但是为什么这个 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的基础。最后,在识别图像或对物体进行分类时,我们怎么能没有机器学习算法呢?为此,所有支持框架都集成到 ARKit 中。
关于swift - 仅导入 ARKit 的 iOS Vision 框架,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68380176/