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 SDKCoreImageで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の比較。
| 機能 | CoreImage | QRCode.fun API |
|---|---|---|
| セットアップの複雑さ | 内蔵、インストール不要 | URLSession経由のHTTPリクエスト |
| カスタマイズ | 基本(CIFilterによる色付け) | フルスタイリング:カラー、シェイプ、ロゴ |
| オフラインサポート | はい | インターネット接続が必要 |
| メンテナンス | iOS/macOS SDKの一部 | 常に最新 |
| 出力形式 | CIImage → UIImage/NSImage | PNG, 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アプリに統合しましょう。