Skip to content

iOS Integration

denys.kramar edited this page Jun 25, 2025 · 1 revision

iOS Integration

Setup

  1. Download PerchEyeFramework.xcframework
  2. Drag framework into your Xcode project
  3. In Frameworks, Libraries, and Embedded Content set Embed & Sign

Initialization

import PerchEyeFramework

class ViewController: UIViewController {
    private var perchEye: PerchEyeSwift!

    override func viewDidLoad() {
        super.viewDidLoad()
        
        // Initialize SDK
        perchEye = PerchEyeSwift()
    }

    deinit {
        perchEye.destroy() // Cleanup
    }
}

Face Detection

func detectFace(image: UIImage) -> ImageResult {
    perchEye.openTransaction()
    let result = perchEye.load(image: image)

    switch result {
    case .success:
        print("Face detected")
    case .faceNotFound:
        print("No face found")
    default:
        print("Error: \(result)")
    }

    return result
}

Face Enrollment

func enrollFace(image: UIImage) -> String? {
    perchEye.openTransaction()
    let result = perchEye.load(image: image)

    if result == .success {
        let hash = perchEye.enroll()
        // Save hash for later verification
        return hash
    }

    return nil
}

Face Verification

func verifyFace(image: UIImage, storedHash: String) -> Float {
    perchEye.openTransaction()
    let result = perchEye.load(image: image)

    if result == .success {
        let similarity = perchEye.verify(hash: storedHash)
        return similarity // 0.8+ recommended threshold
    }

    return 0.0
}

Basic Usage Example

// 1. Enroll a face
let enrolledHash = enrollFace(image: userPhoto)

// 2. Later, verify identity
let similarity = verifyFace(image: newPhoto, storedHash: enrolledHash)
let isAuthenticated = similarity >= 0.8
Clone this wiki locally