Swift QR코드 라이브러리

Swift로 QR코드 생성

Swift는 CoreImage의 CIQRCodeGenerator 필터를 통해 내장 QR코드 생성 기능을 제공합니다. iOS 및 macOS 앱에 서드파티 의존성이 필요하지 않습니다.

설정

CoreImage는 iOS 및 macOS SDK에 포함되어 있습니다. 추가 설치가 필요하지 않습니다.

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

CoreImage로 QR코드 생성

Swift 내장 CIQRCodeGenerator를 사용한 코드 예제.

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

Swift에서 API로 QR코드 생성

URLSession을 사용하여 Swift에서 QRCode.fun API를 호출하여 커스텀 색상과 로고가 포함된 스타일 QR코드를 생성하세요.

Swift API 통합
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코드 라이브 미리보기

지금 바로 Swift로 QR코드를 생성해 보세요.

QR 미리보기

CoreImage vs API

CoreImage 직접 사용과 QRCode.fun API 비교.

기능CoreImageQRCode.fun API
설정 복잡도내장, 설치 불필요URLSession을 통한 HTTP 요청
커스터마이징기본 (CIFilter로 색상 적용)전체 스타일링: 색상, 모양, 로고
오프라인 지원인터넷 필요
유지보수iOS/macOS SDK의 일부항상 최신 상태
출력 형식CIImage → UIImage/NSImagePNG, SVG

Swift QR코드 사용 사례

Swift 애플리케이션에서 QR코드의 일반적인 시나리오.

iOS 앱

iPhone과 iPad 앱에서 링크 공유, 연락처, Wi-Fi 자격 증명, 앱 딥 링크를 위한 QR코드를 생성합니다.

SwiftUI 뷰

커스텀 스타일링과 애니메이션이 포함된 재사용 가능한 SwiftUI 컴포넌트를 만들어 QR코드를 렌더링합니다.

macOS 앱

명함, 라벨, 문서 관리를 위한 QR코드를 생성하는 macOS 도구를 구축합니다.

Apple Watch

Apple Watch에서 탑승권, 티켓, 포인트 카드에 빠르게 접근하기 위한 QR코드를 표시합니다.

자주 묻는 질문

Swift로 QR코드 생성에 관한 일반적인 질문.

아니요. CoreImage의 CIQRCodeGenerator 필터가 iOS와 macOS에 내장되어 있습니다. 의존성 없이 기본 QR코드를 생성할 수 있습니다.

Swift로 QR코드 생성 시작하기

무료 생성기를 사용하거나 API를 iOS 및 macOS 앱에 통합하세요.