إنشاء رموز QR باستخدام Swift
توفر Swift إنشاء رموز QR مدمجاً من خلال فلتر CIQRCodeGenerator في CoreImage. لا حاجة لتبعيات خارجية لتطبيقات iOS و macOS.
الإعداد
CoreImage مضمّن في حزم SDK لنظامي iOS و macOS. لا حاجة لتثبيت إضافي.
import CoreImage // No installation needed — included in iOS & macOS SDKإنشاء رموز QR باستخدام CoreImage
أمثلة كود باستخدام فلتر CIQRCodeGenerator المدمج في 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))
}إنشاء رموز QR عبر API في Swift
استدعِ واجهة QRCode.fun API من Swift باستخدام URLSession لرموز QR مُنسّقة بألوان وشعارات مخصصة.
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")معاينة رمز QR المباشرة
جرّب إنشاء رمز QR باستخدام Swift الآن.
CoreImage مقابل API
مقارنة استخدام CoreImage مباشرة مقابل واجهة QRCode.fun API.
| الميزة | CoreImage | QRCode.fun API |
|---|---|---|
| تعقيد الإعداد | مدمج، لا حاجة للتثبيت | طلب HTTP عبر URLSession |
| التخصيص | أساسي (تلوين بـ CIFilter) | تنسيق كامل: ألوان وأشكال وشعارات |
| دعم عدم الاتصال | نعم | يتطلب إنترنت |
| الصيانة | جزء من حزمة iOS/macOS SDK | محدّث دائماً |
| صيغ الإخراج | CIImage → UIImage/NSImage | PNG, SVG |
حالات استخدام Swift لرمز QR
سيناريوهات شائعة لرموز QR في تطبيقات Swift.
تطبيقات iOS
إنشاء رموز QR لمشاركة الروابط وجهات الاتصال وبيانات Wi-Fi والروابط العميقة للتطبيق في تطبيقات iPhone و iPad.
عروض SwiftUI
إنشاء مكونات SwiftUI قابلة لإعادة الاستخدام تعرض رموز QR بتنسيق ورسوم متحركة مخصصة.
تطبيقات macOS
بناء أدوات macOS لإنشاء رموز QR لبطاقات العمل والملصقات وإدارة المستندات.
Apple Watch
عرض رموز QR على Apple Watch للوصول السريع إلى بطاقات الصعود والتذاكر وبطاقات الولاء.
الأسئلة الشائعة
أسئلة شائعة حول إنشاء رموز QR باستخدام Swift.
ابدأ بإنشاء رموز QR باستخدام Swift
استخدم مولدنا المجاني أو ادمج API في تطبيقات iOS و macOS الخاصة بك.