Genera Códigos QR con Swift
Swift proporciona generación de códigos QR integrada a través del filtro CIQRCodeGenerator de CoreImage. No se necesitan dependencias de terceros para aplicaciones iOS y macOS.
Configuración
CoreImage está incluido en los SDKs de iOS y macOS. No se requiere instalación adicional.
import CoreImage // No installation needed — included in iOS & macOS SDKGenera Códigos QR con CoreImage
Ejemplos de código usando el CIQRCodeGenerator integrado 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))
}Genera Códigos QR vía API en Swift
Llama a la API de QRCode.fun desde Swift usando URLSession para códigos QR estilizados con colores y logotipos personalizados.
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")Vista Previa de Código QR en Vivo
Prueba a generar un código QR con Swift ahora mismo.
CoreImage vs API
Compara el uso directo de CoreImage con la API de QRCode.fun.
| Característica | CoreImage | QRCode.fun API |
|---|---|---|
| Complejidad de configuración | Integrado, sin instalación necesaria | Solicitud HTTP vía URLSession |
| Personalización | Básica (tintado con CIFilter) | Estilizado completo: colores, formas, logotipos |
| Soporte sin conexión | Sí | Requiere internet |
| Mantenimiento | Parte del SDK de iOS/macOS | Siempre actualizado |
| Formatos de salida | CIImage → UIImage/NSImage | PNG, SVG |
Casos de Uso de Códigos QR en Swift
Escenarios comunes para códigos QR en aplicaciones Swift.
Aplicaciones iOS
Genera códigos QR para compartir enlaces, contactos, credenciales Wi-Fi y deep links de apps en aplicaciones iPhone e iPad.
Vistas SwiftUI
Crea componentes reutilizables de SwiftUI que renderizan códigos QR con estilos y animaciones personalizados.
Aplicaciones macOS
Construye herramientas macOS para generar códigos QR para tarjetas de presentación, etiquetas y gestión de documentos.
Apple Watch
Muestra códigos QR en Apple Watch para acceso rápido a tarjetas de embarque, boletos y tarjetas de fidelidad.
Preguntas Frecuentes
Preguntas comunes sobre la generación de códigos QR con Swift.
Comienza a generar códigos QR con Swift
Usa nuestro generador gratuito o integra la API en tus aplicaciones iOS y macOS.