Générateur de QR codes en Swift : bibliothèque EFQRCode pour iOS et macOS

Formateur Python en ligne pour débutants

Apprenez Python facilement sans surcharge théorique. Résolvez des tâches pratiques avec vérification automatique et écrivez du code directement dans le navigateur.

Start Course

Générateur de QR codes en Swift (iOS/macOS) : bibliothèque EFQRCode



Les QR codes sont devenus une partie intégrante des applications modernes — de l'authentification au transfert de liens et de contacts. Si vous développez pour iOS ou macOS en Swift, vous n'avez pas besoin d'écrire des algorithmes de codage complexes à partir de zéro. La bibliothèque prête à l'emploi EFQRCode fournit une API pratique pour créer, lire et personnaliser des QR codes. Dans cet article, nous examinerons ses fonctionnalités, son installation et des exemples d'utilisation.



Qu'est-ce que EFQRCode ?

EFQRCode est une bibliothèque open source écrite en Swift. Elle prend en charge iOS (à partir de la version 9.0) et macOS (10.11+). Principales fonctionnalités :

  • Génération de QR codes à partir de chaînes, d'URL, de contacts vCard et de texte.
  • Personnalisation de la couleur, du fond, de la taille et du niveau de correction d'erreurs.
  • Ajout de filigranes (logos, images) au centre du QR code.
  • Création de QR codes animés (GIF).
  • Décodage de QR codes à partir d'images.

La bibliothèque utilise le CIFilter intégré de Core Image, mais ajoute de nombreuses surcouches pratiques et personnalisations.



Installation via Swift Package Manager

Ajoutez le paquet EFQRCode à votre projet Xcode :

// Dans Xcode : File → Add Packages...// Collez l'URL du dépôt :https://github.com/EFPrefix/EFQRCode.git// Choisissez la version (recommandé "Up to Next Major")

Ou ajoutez manuellement la dépendance dans Package.swift :

dependencies: [    .package(url: "https://github.com/EFPrefix/EFQRCode.git", from: "6.0.0")]


Exemple de base de génération de QR code

La façon la plus simple de créer un QR code à partir d'une chaîne :

import EFQRCode

// Création d'un QR code à partir d'un texteif let image = EFQRCode.generate( content: "https://pythonlib.ru", size: EFIntSize(width: 300, height: 300)) { // Utilisez image (CGImage) pour l'affichage // Par exemple, dans UIImageView sur iOS : let uiImage = UIImage(cgImage: image) imageView.image = uiImage}

Le résultat est un QR code noir et blanc standard de 300x300 pixels.



Personnalisation de la couleur et du fond

Vous pouvez définir une couleur personnalisée pour le premier plan et le fond :

import EFQRCode

let qrImage = EFQRCode.generate( content: "Hello, Swift!", size: EFIntSize(width: 400, height: 400), backgroundColor: UIColor.yellow.cgColor, foregroundColor: UIColor.blue.cgColor, inputCorrectionLevel: .h // correction d'erreurs maximale)

Le paramètre inputCorrectionLevel accepte les valeurs .l (7%), .m (15%), .q (25%), .h (30%). Plus le niveau est élevé, plus les données peuvent être récupérées en cas de dommage.



Ajout d'un logo (filigrane)

Pour placer un logo au centre du QR code, utilisez la méthode generateWithWatermark :

import EFQRCode

let watermarkImage = UIImage(named: "logo")?.cgImagelet qrWithLogo = EFQRCode.generateWithWatermark( content: "https://pythonlib.ru", size: EFIntSize(width: 500, height: 500), watermark: watermarkImage, watermarkMode: .center)

Important : le logo ne doit pas occuper plus de 30% de la surface, sinon le code pourrait ne pas être lisible.



Création d'un QR code animé (GIF)

EFQRCode prend en charge la génération de QR codes animés. Par exemple, vous pouvez créer un GIF avec des couleurs changeantes :

import EFQRCode

let qrCodeGIF = EFQRCode.generateGIF( content: "Animated QR", size: EFIntSize(width: 200, height: 200), data: [someData] // tableau d'images)

Pour une animation simple, vous pouvez utiliser des couleurs prédéfinies. Plus de détails dans la documentation de la bibliothèque.



Décodage d'un QR code à partir d'une image

Pour lire un QR code à partir d'une photo ou d'une capture d'écran :

import                    

Recommendations