我最近迁移了 Xcode 10.3 - 11.2.1,这是Objective-C 和 Swift的项目组合,我修复了大部分问题,最后我卡在了 app-Swift.h 文件中。它显示错误“找不到协议声明”。它在 Xcode 10.2 中运行良好而不是在 Xcode 11.2.1 中
请为我提供解决此问题的建议。
下面的 Swift 代码
extension FaceScanHelper: AcuantHGLiveFaceCaptureDelegate {
func liveFaceDetailsCaptured(liveFaceDetails: LiveFaceDetails?) {
if(liveFaceDetails?.faceRect != nil && liveFaceDetails?.image != nil){
faceImage = liveFaceDetails?.image
let translatedFaceRect = self.calculateFaceRect(faceBounds: (liveFaceDetails?.faceRect?.toCGRect())!, clearAperture:(liveFaceDetails?.cleanAperture?.toCGRect())!)
var width = (translatedFaceRect.width)
width = 1.1*width
var height = (translatedFaceRect.height)
height = 1.3*height
let x = (translatedFaceRect.origin.x) + ((translatedFaceRect.width)-width)
let y = (translatedFaceRect.origin.y) + ((translatedFaceRect.height)-height)
let faceRect = CGRect.init(x: x, y: y, width: width, height:height)
self.faceOval?.removeFromSuperlayer()
faceOval = CAShapeLayer()
faceOval?.path = UIBezierPath.init(ovalIn: faceRect).cgPath
faceOval?.fillColor = UIColor.clear.cgColor
faceOval?.strokeColor = UIColor.init(rgb: APP_THEME_COLOR).cgColor //UIColor.red.cgColor
faceOval?.lineWidth = 5.0
self.videoPreviewLayer.addSublayer((faceOval)!)
if(liveFaceDetails?.isLiveFace)!{
if let face = liveFaceDetails?.image{
if(!isReported){
isReported = true
self.delegate?.liveFaceCaptured!(face, error: nil)
}
}
}
}else if(liveFaceDetails == nil || liveFaceDetails?.faceRect == nil){
self.faceOval?.removeFromSuperlayer()
}
}
}