Swift ile QR Kod Oluşturun
Swift, CoreImage'in CIQRCodeGenerator filtresi aracılığıyla yerleşik QR kod oluşturma sağlar. iOS ve macOS uygulamaları için üçüncü taraf bağımlılığa gerek yoktur.
Kurulum
CoreImage, iOS ve macOS SDK'larında yerleşiktir. Ek kurulum gerekmez.
import CoreImage // No installation needed — included in iOS & macOS SDKCoreImage ile QR Kod Oluşturun
Swift'in yerleşik CIQRCodeGenerator'ını kullanan kod örnekleri.
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))
}Swift'te API ile QR Kod Oluşturun
Özel renkler ve logolarla stilize QR kodlar için Swift'ten URLSession kullanarak QRCode.fun API'sini çağırın.
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")Canlı QR Kod Önizleme
Şimdi Swift ile bir QR kod oluşturmayı deneyin.
CoreImage vs API
CoreImage'i doğrudan kullanma ile QRCode.fun API karşılaştırması.
| Özellik | CoreImage | QRCode.fun API |
|---|---|---|
| Kurulum karmaşıklığı | Yerleşik, kurulum gerekmez | URLSession ile HTTP isteği |
| Özelleştirme | Temel (CIFilter ile renklendirme) | Tam stil: renkler, şekiller, logolar |
| Çevrimdışı destek | Evet | İnternet gerekli |
| Bakım | iOS/macOS SDK'nın parçası | Her zaman güncel |
| Çıktı formatları | CIImage → UIImage/NSImage | PNG, SVG |
Swift QR Kod Kullanım Alanları
Swift uygulamalarında QR kodlar için yaygın senaryolar.
iOS Uygulamaları
iPhone ve iPad uygulamalarında bağlantı, kişi, Wi-Fi kimlik bilgileri ve uygulama derin bağlantıları paylaşmak için QR kod oluşturun.
SwiftUI Görünümleri
Özel stil ve animasyonlarla QR kod oluşturan yeniden kullanılabilir SwiftUI bileşenleri oluşturun.
macOS Uygulamaları
Kartvizitler, etiketler ve belge yönetimi için QR kod oluşturan macOS araçları geliştirin.
Apple Watch
Biniş kartları, biletler ve sadakat kartlarına hızlı erişim için Apple Watch'ta QR kod görüntüleyin.
Sıkça Sorulan Sorular
Swift ile QR kod oluşturma hakkında yaygın sorular.
Swift ile QR kod oluşturmaya başlayın
Ücretsiz oluşturucumuzu kullanın veya API'yi iOS ve macOS uygulamalarınıza entegre edin.