바코드 스캐너는 많아도 생성기는 검색해봐도 많지 않았다..
거의다 QR 생성기이고 그중에서도 내가 필요한 EAN8 바코드 생성기는 찾기 쉽지 않더라. 내가 검색을 잘못한건지 모르겠지만 ㅎㅎ
그나마 찾은 괜찮은 iOS용 라이브러리도 Objective-C로만 되어있어서 대체 어떻게 사용해야할지 막막하던 'BarCodeKit'
그러다 한줄기 빛처럼 만나게 된 라이브러리 'RSBarcodes_Swift'
내가 찾던 ean8을 포함한 1D / 2D barcode 타입들을 전부 지원해주는 Swift 라이브러리이다.
애초에 그냥 바로 Cocoapods에서 'barcode' 라고 검색했으면 빨리 찾았을 수도 있겠지만
구글에서 swift ean8 generator 라고 검색하니 저어엉말 찾기가 힘들었다ㅠ
나는 1D barcode가 뭔지도 몰랐기에 한번 참고용으로 바코드 타입에 대해 검색해보았다.
Barcode types
▶ One-Dimensional (1D) Barcode Types
: 1차원 바코드 유형. 일반적으로 선형 바코드라고 불리며 UPC 및 EAN 코드와 같이 가장 전통적이고 잘 알려진 바코드 유형이 포함된다.
▶ Two-Dimensional (2D) Barcode Types
: 2차원 기호와 모향을 사용하여 데이터를 체계적으로 나타내는 2차원 바코드 유형. 1D 바코드에 비해 단위 면적당 더 많은 데이터를 나타낼 수 있으며, 찢어지거나 긁히거나 손상된 후에도 데이터를 스캔 가능하게 유지 되도록 설계되었다. QR 코드 및 PDF417과 같은 일부 최신 바코드 유형이 포함된다.
* 참고 : Types of Barcodes
RSBarcodes_Swift 사용법
RSBarcodes_Swift는 위의 1D / 2D 바코드 타입 스캔과 생성을 모두 지원해주는 아주 고오마운 Swift 라이브러리다. 감사흡느드ㅠㅠ
라이브러리 설명이나 샘플 코드가 잘 되어있어서 쉽게 사용할 수 있었다 :)
먼저 podfile에 다음을 추가해준 후 pod install 해준다.
pod 'RSBarcodes_Swift', '~> 5.1.1'
Swift 파일에서 다음을 import 해준 다음
import AVFoundation
import RSBarcodes_Swift
아래와 같이 바코드를 생성해줄 수 있다.
let barcodeView = UIImageView()
barcodeView.image = generateBarcode(from: "00000000")
barcodeView.frame = CGRect(x: 0, y: 0, width: 180, height: 100)
view.addSubview(barcodeView)
func generateBarcode(from string: String) -> UIImage? {
let gen = RSUnifiedCodeGenerator.shared
gen.fillColor = UIColor.white
gen.strokeColor = UIColor.black
if let image = gen.generateCode(string, machineReadableCodeObjectType: AVMetadataObject.ObjectType.ean8.rawValue) {
return RSAbstractCodeGenerator.resizeImage(image, scale: 1)
}
}
사용하고있던 EAN13도 이걸로 바꿀까 했는데 바코드가 엄청 진하게? 굵게 나와서 EAN13은 그냥 전에 사용하던 EAN13 생성기를 그대로 따로 사용해주기로 했다. 바코드 굵기 조절은 힘들겠쥬..? ㅎㅎ
* EAN13 바코드 생성은 다음을 참고 -> create barcode from string
'초보 iOS 개발자의 일상 > 개발 업무' 카테고리의 다른 글
[Swift iOS] Custom Keypad 만드는 법 (0) | 2021.10.19 |
---|---|
iOS 앱 위변조 체크? (feat. 데이터 무결성) (0) | 2021.10.15 |
[iOS] Object-C (0) | 2021.09.02 |
[Swift iOS] ipa 파일 다운로드 링크 생성 및 설치 (Ad Hoc & Enterprise) (0) | 2021.09.02 |
[iOS] 푸시 알림 터치시 바로 안열리고 열기가 표시될 때 (0) | 2021.08.31 |