iOS 的面部识别功能可以通过 Apple 提供的 Vision 框架来实现。以下是一个简单的示例代码:
```swift
import Vision
// 获取摄像头输入
let videoDevice = AVCaptureDevice.default(for: .video)
let videoInput = try? AVCaptureDeviceInput(device: videoDevice!)
let session = AVCaptureSession()
session.addInput(videoInput!)
// 创建人脸检测请求
let faceDetectionRequest = VNDetectFaceRectanglesRequest { (request, error) in
if let results = request.results as? [VNFaceObservation] {
DispatchQueue.main.async {
// 在界面上显示检测到的人脸
for faceObservation in results {
let faceRect = faceObservation.boundingBox
// 在界面上绘制人脸矩形
}
}
}
}
// 执行人脸检测
let faceDetectionHandler = VNImageRequestHandler(cvPixelBuffer: pixelBuffer)
DispatchQueue.global(qos: .userInitiated).async {
do {
try faceDetectionHandler.perform([faceDetectionRequest])
} catch {
print(error)
}
}
```
这段代码首先获取摄像头的输入,然后创建一个人脸检测请求,最后在一个单独的线程中执行这个请求。当检测到人脸时,会在主线程中更新界面,在屏幕上绘制人脸的矩形。
需要注意的是,使用 Vision 框架进行面部识别需要用户授权访问摄像头权限。同时,还需要处理错误情况,并优化性能以确保应用程序流畅运行。