Библиотека Swift QR Code

Генерация QR-кодов на Swift

Swift предоставляет встроенную генерацию QR-кодов через фильтр CIQRCodeGenerator в CoreImage. Никаких сторонних зависимостей для iOS и macOS приложений.

Настройка

CoreImage включён в SDK iOS и macOS. Дополнительная установка не требуется.

Built-in
import CoreImage // No installation needed — included in iOS & macOS SDK

Генерация QR-кодов с CoreImage

Примеры кода с использованием встроенного CIQRCodeGenerator в Swift.

Basic QR Code with CoreImage
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")
Colored QR Code
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))
}
QRCode.fun API

Генерация QR-кодов через API на Swift

Вызовите API QRCode.fun из Swift через URLSession для стилизованных QR-кодов с пользовательскими цветами и логотипами.

Интеграция API Swift
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 прямо сейчас.

Предпросмотр QR

CoreImage vs API

Сравните прямое использование CoreImage с API QRCode.fun.

ФункцияCoreImageQRCode.fun API
Сложность настройкиВстроенный, без установкиHTTP-запрос через URLSession
КастомизацияБазовая (тонирование через CIFilter)Полное оформление: цвета, формы, логотипы
Офлайн-поддержкаДаТребуется интернет
ОбслуживаниеЧасть SDK iOS/macOSВсегда актуально
Форматы выводаCIImage → UIImage/NSImagePNG, SVG

Сценарии использования QR-кодов в Swift

Типичные сценарии для QR-кодов в Swift-приложениях.

iOS-приложения

Генерируйте QR-коды для обмена ссылками, контактами, Wi-Fi-данными и deep-ссылками в приложениях iPhone и iPad.

Представления SwiftUI

Создавайте переиспользуемые SwiftUI-компоненты, отображающие QR-коды с настраиваемым оформлением и анимациями.

macOS-приложения

Создавайте macOS-инструменты для генерации QR-кодов для визиток, этикеток и управления документами.

Apple Watch

Отображайте QR-коды на Apple Watch для быстрого доступа к посадочным талонам, билетам и картам лояльности.

Часто задаваемые вопросы

Популярные вопросы о генерации QR-кодов на Swift.

Нет. Фильтр CIQRCodeGenerator из CoreImage встроен в iOS и macOS. Он генерирует базовые QR-коды без каких-либо зависимостей.

Начните генерировать QR-коды на Swift

Используйте наш бесплатный генератор или интегрируйте API в свои iOS и macOS приложения.