Zxingify Objc

An Objective-C Port of ZXing
Alternatives To Zxingify Objc
Project NameStarsDownloadsRepos Using ThisPackages Using ThisMost Recent CommitTotal ReleasesLatest ReleaseOpen IssuesLicenseLanguage
Zxing31,4977,2124168 days ago17November 02, 20225apache-2.0Java
ZXing ("Zebra Crossing") barcode scanning library for Java, Android
Zxing Android Embedded5,464
2 months ago6October 25, 2021106apache-2.0Java
Barcode scanner library for Android, based on the ZXing decoder
Barcodescanner5,23353 years ago27August 19, 2017otherJava
Barcode Scanner Libraries for Android
Zxingify Objc3,041
3036 months ago28October 22, 201858apache-2.0Objective-C
An Objective-C Port of ZXing
Lbxscan3,014
1103 years ago5October 22, 2018148mitObjective-C
A barcode and qr code scanner (二维码、扫码、扫一扫、ZXing、ZBar、iOS系统AVFoundation扫码封装,扫码界面效果封装)
Zxinglite2,739
14 days ago7April 15, 202315apache-2.0Java
🔥 ZXing的精简极速版,优化扫码和生成二维码/条形码,内置闪光灯等功能。扫描风格支持:微信的线条样式,支付宝的网格样式。几句代码轻松拥有扫码功能 ,ZXingLite让集成更简单。(扫码识别速度快如微信)
Library2,04910269a month ago56January 10, 2022144apache-2.0TypeScript
Multi-format 1D/2D barcode image processing library, usable in JavaScript ecosystem.
Qrcodereaderview1,77023114 years ago2March 29, 201749Java
Modification of ZXING Barcode Scanner project for easy Android QR-Code detection and AR purposes
Zxing.net.mobile1,03520740a year ago47January 19, 2021178mitC#
Barcode Scanner for Xamarin.iOS, Xamarin.Android, UWP and Tizen
Binaryeye1,010
5 days ago84mitKotlin
Yet another barcode scanner for Android
Alternatives To Zxingify Objc
Select To Compare


Alternative Project Comparisons
Readme

zxingify-objc

ZXingObjC is a full Objective-C port of ZXing ("Zebra Crossing"), a Java barcode image processing library. It is designed to be used on both iOS devices and in Mac applications.

The following barcodes are currently supported for both encoding and decoding:

  • UPC-A and UPC-E
  • EAN-8 and EAN-13
  • Code 39
  • Code 93
  • Code 128
  • ITF
  • Codabar
  • RSS-14 (all variants)
  • QR Code
  • Data Matrix
  • Maxicode
  • Aztec ('beta' quality)
  • PDF 417 ('beta' quality)

ZXingObjC currently has feature parity with ZXing version 3.3.3.

Requirements

ZXingObjC requires Xcode 8.3.3 and above, targeting either iOS 8.0 and above, or Mac OS X 10.8 Mountain Lion and above.

Usage

Encoding:

NSError *error = nil;
ZXMultiFormatWriter *writer = [ZXMultiFormatWriter writer];
ZXBitMatrix* result = [writer encode:@"A string to encode"
                              format:kBarcodeFormatQRCode
                               width:500
                              height:500
                               error:&error];
if (result) {
  CGImageRef image = CGImageRetain([[ZXImage imageWithMatrix:result] cgimage]);

  // This CGImageRef image can be placed in a UIImage, NSImage, or written to a file.
  
  CGImageRelease(image);
} else {
  NSString *errorMessage = [error localizedDescription];
}

Decoding:

CGImageRef imageToDecode;  // Given a CGImage in which we are looking for barcodes

ZXLuminanceSource *source = [[[ZXCGImageLuminanceSource alloc] initWithCGImage:imageToDecode] autorelease];
ZXBinaryBitmap *bitmap = [ZXBinaryBitmap binaryBitmapWithBinarizer:[ZXHybridBinarizer binarizerWithSource:source]];

NSError *error = nil;

// There are a number of hints we can give to the reader, including
// possible formats, allowed lengths, and the string encoding.
ZXDecodeHints *hints = [ZXDecodeHints hints];

ZXMultiFormatReader *reader = [ZXMultiFormatReader reader];
ZXResult *result = [reader decode:bitmap
                            hints:hints
                            error:&error];
if (result) {
  // The coded result as a string. The raw data can be accessed with
  // result.rawBytes and result.length.
  NSString *contents = result.text;

  // The barcode format, such as a QR code or UPC-A
  ZXBarcodeFormat format = result.barcodeFormat;
} else {
  // Use error to determine why we didn't get a result, such as a barcode
  // not being found, an invalid checksum, or a format inconsistency.
}

Installation

We highly recommend Carthage as module manager.

Carthage

ZXingObjC can be installed using Carthage. After installing Carthage just add ZXingObjC to your Cartfile:

github "TheLevelUp/ZXingObjC" ~> 3.6

CocoaPods

CocoaPods is a dependency manager for Swift and Objective-C Cocoa projects. After installing CocoaPods add ZXingObjC to your Podfile:

platform :ios, '8.0'
pod 'ZXingObjC', '~> 3.6.4'

Examples

ZXingObjC includes several example applications found in "examples" folder:

  • BarcodeScanner - An iOS application that captures video from the camera, scans for barcodes and displays results on screen.
  • BarcodeScannerSwift - An iOS application that captures video from the camera, scans for barcodes and displays results on screen, completely rewritten in Swift.

Kudos

  • cwalcott initial creator of this project
  • neacao for his unparalleled support lately
  • claybridges for all the help regarding the project move

License

ZXingObjC is available under the Apache 2.0 license.

Popular Zxing Projects
Popular Barcode Projects
Popular Data Processing Categories
Related Searches

Get A Weekly Email With Trending Projects For These Categories
No Spam. Unsubscribe easily at any time.
Objective C
Objc
Barcode
Zxing