上面給年夜家引見下二維碼簡介
二維碼 (2-dimensional bar code) 是用某種特定的幾何圖形按必定紀律在立體(二維偏向上)散布的诟谇相間的圖形記載數據符號信息的;在代碼編制上奇妙天時用組成盤算機外部邏輯基本的“0”、“1”比特流的概念,應用若干個與二進制絕對應的幾何形體來表現文字數值信息,經由過程圖像輸出裝備或光電掃描裝備主動識讀以完成信息主動處置: 二維條碼/二維碼可以或許在橫向和縱向兩個方位同時表達信息,是以能在很小的面積內表達年夜量的信息。
上面引見下若何在蘋果IOS裝備上應用二維碼:
1. 掃描二維碼(解碼)
掃描二維碼的開源庫有許多如 ZBar、ZXing等。在此以ZBar作為例子構建二維碼掃碼運用。
起首在github高低載ZBar SDK
地址https://github.com/bmorton/ZBarSDK
翻開緊縮包,個中有ZBarSDK 文件夾
將ZBarSDK 文件夾包括到項目中來
(Finder)
(XCode)
個中包括一個libzbar.a的靜態庫
接著往項目中添加Framework框架及鏈接庫(靜態庫、靜態庫)。
在項目屬性TARGETSSummary 中找到Linked Frameworks and Libraries 添加
AVFoundation.framwork, CoreMedia.framework, CoreVideo.framework, libiconv.dylib 和libzbar.a (如圖)
然後在應用的處所引入頭文件
#import "ZBarSDK.h"
挪用ZBar的類必需完成ZBarReaderDelegate協定
如:UIViewController <ZBarReaderDelegate>在- (void) imagePickerController: (UIImagePickerController*) reader
didFinishPickingMediaWithInfo: (NSDictionary*) info
最初在協定辦法中經由過程info獲得成果值
id<NSFastEnumeration> results = [info objectForKey: ZBarReaderControllerResults]; ZBarSymbol *symbol = nil; for(symbol in results) // EXAMPLE: just grab the first barcode break; // EXAMPLE: do something useful with the barcode data resultText.text = symbol.data; [cpp] view plaincopy id<NSFastEnumeration> results = [info objectForKey: ZBarReaderControllerResults]; ZBarSymbol *symbol = nil; for(symbol in results) // EXAMPLE: just grab the first barcode break; // EXAMPLE: do something useful with the barcode data resultText.text = symbol.data;
文檔地址http://zbar.sourceforge.net/iphone/sdkdoc/
二維碼開源庫ZXing的加載進程與此相似,然則ZXing默許其實不支撐一維碼的掃描,而ZBar是支撐的。
2. 生成二維碼(編碼)
在生成二維碼的庫中QREncoder 比擬好用。ZXing庫的Android版本是帶java版的編碼庫的但不知為什麼沒有C++版的解碼庫,故在IOS上也沒法解碼,假如運用中既要生成二維碼又要掃描二維碼就有能夠要帶兩套分歧的庫。
起首異樣是在github 高低載到SDK庫
地址https://github.com/jverkoey/ObjQREncoder
解壓後將源碼庫直接包括到項目中來(如圖)
設置頭文件途徑,在TARGET中building settings Search Path
固然也能夠直接將庫編譯成靜態庫libQREcoder.a
然後在包括出去
接著在Frameworks 中添加靜態庫的援用
然後在應用該庫的處所包括頭文件
#import <QREncoder/QREncoder.h>
留意:二維碼顯示的時刻有能夠會由於圖象的年夜小而做調劑,所以須要包括體系庫QuartzCore.framework
最初便可以挪用編碼庫了:
UIImage* image = [QREncoder encode:@"http://www.百度.com/"]; UIImage* image = [QREncoder encode:@"http://www.百度.com/"];
以上內容就是教年夜家若何在iphon IOS裝備上應用二維碼,願望年夜家愛好。
【若何在iphon IOS裝備上應用二維碼】的相關資料介紹到這裡,希望對您有所幫助! 提示:不會對讀者因本文所帶來的任何損失負責。如果您支持就請把本站添加至收藏夾哦!