Swift-QR-Code-Generator: Bibliothek EFQRCode für iOS und macOS

Online Python-Trainer für Anfänger

Lernen Sie Python einfach ohne theoretische Überlastung. Lösen Sie praktische Aufgaben mit automatischer Überprüfung und schreiben Sie Code direkt im Browser.

Kurs starten

Swift-QR-Code-Generator (iOS/macOS): Bibliothek EFQRCode



QR-Codes sind zu einem unverzichtbaren Bestandteil moderner Anwendungen geworden – von der Authentifizierung bis zur Übertragung von Links und Kontakten. Wenn Sie für iOS oder macOS in Swift entwickeln, müssen Sie keine komplexen Kodierungsalgorithmen von Grund auf neu schreiben. Die fertige Bibliothek EFQRCode bietet eine praktische API zum Erstellen, Lesen und Anpassen von QR-Codes. In diesem Artikel werden ihre Funktionen, Installation und Anwendungsbeispiele erläutert.



Was ist EFQRCode?

EFQRCode ist eine Open-Source-Bibliothek, die in Swift geschrieben wurde. Sie unterstützt iOS (ab Version 9.0) und macOS (10.11+). Die Hauptfunktionen sind:

  • Generierung von QR-Codes aus Zeichenketten, URLs, vCard-Kontakten und Text.
  • Anpassung von Farbe, Hintergrund, Größe und Fehlerkorrekturstufe.
  • Hinzufügen von Wasserzeichen (Logos, Bilder) in der Mitte des QR-Codes.
  • Erstellung animierter QR-Codes (GIF).
  • Dekodierung von QR-Codes aus Bildern.

Die Bibliothek verwendet den integrierten CIFilter aus Core Image, fügt jedoch viele praktische Wrapper und Anpassungen hinzu.



Installation über Swift Package Manager

Fügen Sie das EFQRCode-Paket zu Ihrem Xcode-Projekt hinzu:

// In Xcode: File → Add Packages...// Fügen Sie die Repository-URL ein:https://github.com/EFPrefix/EFQRCode.git// Wählen Sie die Version (empfohlen "Up to Next Major")

Oder fügen Sie die Abhängigkeit manuell in Package.swift hinzu:

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


Basisbeispiel zur QR-Code-Generierung

Der einfachste Weg, einen QR-Code aus einer Zeichenkette zu erstellen:

import EFQRCode

// QR-Code aus Text erstellenif let image = EFQRCode.generate( content: "https://pythonlib.ru", size: EFIntSize(width: 300, height: 300)) { // Verwenden Sie image (CGImage) zur Anzeige // Z.B. in UIImageView auf iOS: let uiImage = UIImage(cgImage: image) imageView.image = uiImage}

Das Ergebnis ist ein standardmäßiger schwarz-weißer QR-Code mit einer Größe von 300x300 Pixeln.



Anpassung von Farbe und Hintergrund

Sie können beliebige Vordergrund- und Hintergrundfarben festlegen:

import EFQRCode

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

Der Parameter inputCorrectionLevel akzeptiert die Werte .l (7%), .m (15%), .q (25%), .h (30%). Je höher die Stufe, desto mehr Daten können bei Beschädigung wiederhergestellt werden.



Hinzufügen eines Logos (Wasserzeichen)

Um ein Logo in die Mitte des QR-Codes zu setzen, verwenden Sie die Methode 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)

Wichtig: Das Logo sollte nicht mehr als 30% der Fläche einnehmen, da der Code sonst möglicherweise nicht lesbar ist.



Erstellung eines animierten QR-Codes (GIF)

EFQRCode unterstützt die Generierung animierter QR-Codes. Beispielsweise kann ein GIF mit wechselnden Farben erstellt werden:

import EFQRCode

let qrCodeGIF = EFQRCode.generateGIF( content: "Animierter QR", size: EFIntSize(width: 200, height: 200), data: [someData] // Array von Frames)

Für einfache Animationen können vorgefertigte Farben verwendet werden. Weitere Details finden Sie in der Dokumentation der Bibliothek.



Dekodierung eines QR-Codes aus einem Bild

Um einen QR-Code von einem Foto oder Screenshot zu lesen:

import                    

Empfehlungen