Générer des Codes QR avec Swift
Swift fournit la génération de codes QR intégrée via le filtre CIQRCodeGenerator de CoreImage. Aucune dépendance tierce nécessaire pour les applications iOS et macOS.
Configuration
CoreImage est inclus dans les SDKs iOS et macOS. Aucune installation supplémentaire requise.
import CoreImage // No installation needed — included in iOS & macOS SDKGénérer des Codes QR avec CoreImage
Exemples de code utilisant le CIQRCodeGenerator intégré de Swift.
import CoreImage
import UIKit
func generateQRCode(from string: String) -> UIImage? {
let data = string.data(using: .ascii)
guard let filter = CIFilter(name: "CIQRCodeGenerator") else { return nil }
filter.setValue(data, forKey: "inputMessage")
filter.setValue("Q", forKey: "inputCorrectionLevel")
guard let ciImage = filter.outputImage else { return nil }
// Scale up for crisp rendering
let transform = CGAffineTransform(scaleX: 10, y: 10)
let scaledImage = ciImage.transformed(by: transform)
return UIImage(ciImage: scaledImage)
}
let qrImage = generateQRCode(from: "https://qrcode.fun")func generateColoredQRCode(from string: String,
foreground: UIColor = .black,
background: UIColor = .white) -> UIImage? {
let data = string.data(using: .ascii)
guard let qrFilter = CIFilter(name: "CIQRCodeGenerator"),
let colorFilter = CIFilter(name: "CIFalseColor") else { return nil }
qrFilter.setValue(data, forKey: "inputMessage")
qrFilter.setValue("H", forKey: "inputCorrectionLevel")
colorFilter.setValue(qrFilter.outputImage, forKey: "inputImage")
colorFilter.setValue(CIColor(color: foreground), forKey: "inputColor0")
colorFilter.setValue(CIColor(color: background), forKey: "inputColor1")
guard let output = colorFilter.outputImage else { return nil }
let transform = CGAffineTransform(scaleX: 10, y: 10)
return UIImage(ciImage: output.transformed(by: transform))
}Générer des Codes QR via API en Swift
Appelez l'API QRCode.fun depuis Swift avec URLSession pour des codes QR stylisés avec couleurs et logos personnalisés.
import Foundation
func generateQRCodeViaAPI(data: String) async throws -> Data {
let url = URL(string: "https://qrcode.fun/api/generate-qr-styled")!
var request = URLRequest(url: url)
request.httpMethod = "POST"
request.setValue("application/json", forHTTPHeaderField: "Content-Type")
let payload: [String: Any] = [
"data": data,
"width": 300,
"height": 300,
"type": "png",
"margin": 10,
"dotsOptions": ["color": "#1A2B3C", "type": "rounded"],
"cornersSquareOptions": ["color": "#8564C3", "type": "extra-rounded"],
"backgroundOptions": ["color": "#FFFFFF"]
]
request.httpBody = try JSONSerialization.data(withJSONObject: payload)
let (responseData, _) = try await URLSession.shared.data(for: request)
return responseData // Parse JSON to get base64 image
}
// Usage
let imageData = try await generateQRCodeViaAPI(data: "https://qrcode.fun")Aperçu du Code QR en Direct
Essayez de générer un code QR avec Swift maintenant.
CoreImage vs API
Comparez l'utilisation directe de CoreImage avec l'API QRCode.fun.
| Fonctionnalité | CoreImage | QRCode.fun API |
|---|---|---|
| Complexité de configuration | Intégré, aucune installation nécessaire | Requête HTTP via URLSession |
| Personnalisation | Basique (teinte avec CIFilter) | Stylisation complète : couleurs, formes, logos |
| Support hors ligne | Oui | Nécessite internet |
| Maintenance | Partie du SDK iOS/macOS | Toujours à jour |
| Formats de sortie | CIImage → UIImage/NSImage | PNG, SVG |
Cas d'Utilisation des Codes QR en Swift
Scénarios courants pour les codes QR dans les applications Swift.
Applications iOS
Générez des codes QR pour partager des liens, contacts, identifiants Wi-Fi et liens profonds d'applications dans les apps iPhone et iPad.
Vues SwiftUI
Créez des composants SwiftUI réutilisables qui affichent des codes QR avec des styles et animations personnalisés.
Applications macOS
Créez des outils macOS pour générer des codes QR pour les cartes de visite, étiquettes et gestion documentaire.
Apple Watch
Affichez des codes QR sur Apple Watch pour un accès rapide aux cartes d'embarquement, billets et cartes de fidélité.
Questions Fréquemment Posées
Questions courantes sur la génération de codes QR avec Swift.
Commencez à générer des codes QR avec Swift
Utilisez notre générateur gratuit ou intégrez l'API dans vos applications iOS et macOS.