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ビュー

カスタムスタイリングとアニメーション付きのQRコードをレンダリングする再利用可能なSwiftUIコンポーネントを作成します。

macOSアプリ

名刺、ラベル、文書管理用のQRコードを生成するmacOSツールを構築します。

Apple Watch

Apple Watchで搭乗券、チケット、ポイントカードにすばやくアクセスするためのQRコードを表示します。

よくある質問

SwiftでのQRコード生成に関する一般的な質問。

いいえ。CoreImageのCIQRCodeGeneratorフィルターはiOSとmacOSに内蔵されています。依存関係なしで基本的なQRコードを生成できます。

SwiftでQRコード生成を始めましょう

無料のジェネレーターを使用するか、APIをiOSおよびmacOSアプリに統合しましょう。