Genereer QR-codes met Swift
Swift biedt ingebouwde QR-code generatie via CoreImage's CIQRCodeGenerator filter. Geen externe afhankelijkheden nodig voor iOS en macOS apps.
Configuratie
CoreImage is inbegrepen in iOS en macOS SDK's. Geen extra installatie vereist.
import CoreImage // No installation needed — included in iOS & macOS SDKGenereer QR-codes met CoreImage
Codevoorbeelden met Swift's ingebouwde CIQRCodeGenerator.
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))
}Genereer QR-codes via API in Swift
Roep de QRCode.fun API aan vanuit Swift met URLSession voor gestileerde QR-codes met aangepaste kleuren en logo'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")Live QR Code Preview
Probeer nu een QR-code te genereren met Swift.
CoreImage vs API
Vergelijk het direct gebruiken van CoreImage met de QRCode.fun API.
| Functie | CoreImage | QRCode.fun API |
|---|---|---|
| Installatie complexiteit | Ingebouwd, geen installatie nodig | HTTP-verzoek via URLSession |
| Aanpassing | Basis (kleuring met CIFilter) | Volledige styling: kleuren, vormen, logo's |
| Offline ondersteuning | Ja | Vereist internet |
| Onderhoud | Onderdeel van iOS/macOS SDK | Altijd up-to-date |
| Uitvoerformaten | CIImage → UIImage/NSImage | PNG, SVG |
Swift QR Code Toepassingen
Veelvoorkomende scenario's voor QR-codes in Swift-applicaties.
iOS Apps
Genereer QR-codes voor het delen van links, contacten, Wi-Fi-inloggegevens en app deep links in iPhone en iPad apps.
SwiftUI Views
Maak herbruikbare SwiftUI-componenten die QR-codes renderen met aangepaste styling en animaties.
macOS Apps
Bouw macOS-tools voor het genereren van QR-codes voor visitekaartjes, labels en documentbeheer.
Apple Watch
Toon QR-codes op Apple Watch voor snelle toegang tot instapkaarten, tickets en klantenkaarten.
Veelgestelde Vragen
Veelgestelde vragen over het genereren van QR-codes met Swift.
Begin met het genereren van QR-codes met Swift
Gebruik onze gratis generator of integreer de API in je iOS en macOS apps.