服务器之家:专注于服务器技术及软件下载分享
分类导航

PHP教程|ASP.NET教程|Java教程|ASP教程|编程技术|正则表达式|C/C++|IOS|C#|Swift|Android|VB|R语言|JavaScript|易语言|vb.net|

服务器之家 - 编程语言 - IOS - 如何在iphone IOS设备上使用二维码

如何在iphone IOS设备上使用二维码

2020-12-23 15:19mxABC IOS

深度解析iPhone ios设备上使用二维码是本文要介绍的内容,二维码是用某种特定的几何图形按一定规律在平面(二维方向上)分布的黑白相间的图形记录数据符号信息的。不多说,我们直接来脚本之家学习内容详解,感兴趣的朋友一

下面给大家介绍下二维码简介

二维码 (2-dimensional bar code) 是用某种特定的几何图形按一定规律在平面(二维方向上)分布的黑白相间的图形记录数据符号信息的;在代码编制上巧妙地利用构成计算机内部逻辑基础的“0”、“1”比特流的概念,使用若干个与二进制相对应的几何形体来表示文字数值信息,通过图象输入设备或光电扫描设备自动识读以实现信息自动处理: 二维条码/二维码能够在横向和纵向两个方位同时表达信息,因此能在很小的面积内表达大量的信息。

下面介绍下如何在苹果ios设备上使用二维码:

1. 扫描二维码(解码)

扫描二维码的开源库有很多如 zbar、zxing等。在此以zbar作为例子构建二维码扫码应用。

首先在github上下载zbar sdk

地址https://github.com/bmorton/zbarsdk

打开压缩包,其中有zbarsdk 文件夹

将zbarsdk 文件夹包含到项目中来

如何在iphone IOS设备上使用二维码(finder)
如何在iphone IOS设备上使用二维码(xcode)

其中包含一个libzbar.a的静态库

接着往项目中添加framework框架及链接库(动态库、静态库)。

在项目属性targetssummary 中找到linked frameworks and libraries 添加

avfoundation.framwork, coremedia.framework, corevideo.framework, libiconv.dylib 和libzbar.a (如图)

如何在iphone IOS设备上使用二维码

如何在iphone IOS设备上使用二维码

然后在使用的地方引入头文件

?
1
#import "zbarsdk.h"

调用zbar的类必须实现zbarreaderdelegate协议

如:uiviewcontroller <zbarreaderdelegate>在- (void) imagepickercontroller: (uiimagepickercontroller*) reader

didfinishpickingmediawithinfo: (nsdictionary*) info

最后在协议方法中通过info获取结果值

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
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

解压后将源码库直接包含到项目中来(如图)

如何在iphone IOS设备上使用二维码

设置头文件路径,在target中building settings  search path

如何在iphone IOS设备上使用二维码

当然也可以直接将库编译成静态库libqrecoder.a

然后在包含进来

接着在frameworks 中添加静态库的引用

如何在iphone IOS设备上使用二维码

然后在使用该库的地方包含头文件

?
1
#import <qrencoder/qrencoder.h>

注意:二维码显示的时候有可能会因为图像的大小而做调整,所以需要包含系统库quartzcore.framework

最后就可以调用编码库了:

?
1
2
3
uiimage* image = [qrencoder encode:@"http://www.baidu.com/"];
 
uiimage* image = [qrencoder encode:@"http://www.baidu.com/"];

如何在iphone IOS设备上使用二维码

以上内容就是教大家如何在iphon ios设备上使用二维码,希望大家喜欢。

延伸 · 阅读

精彩推荐
  • IOSIOS 屏幕适配方案实现缩放window的示例代码

    IOS 屏幕适配方案实现缩放window的示例代码

    这篇文章主要介绍了IOS 屏幕适配方案实现缩放window的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要...

    xiari5772021-06-01
  • IOSiOS布局渲染之UIView方法的调用时机详解

    iOS布局渲染之UIView方法的调用时机详解

    在你刚开始开发 iOS 应用时,最难避免或者是调试的就是和布局相关的问题,下面这篇文章主要给大家介绍了关于iOS布局渲染之UIView方法调用时机的相关资料...

    windtersharp7642021-05-04
  • IOSIOS开发之字典转字符串的实例详解

    IOS开发之字典转字符串的实例详解

    这篇文章主要介绍了IOS开发之字典转字符串的实例详解的相关资料,希望通过本文能帮助到大家,让大家掌握这样的方法,需要的朋友可以参考下...

    苦练内功5832021-04-01
  • IOSiOS中tableview 两级cell的展开与收回的示例代码

    iOS中tableview 两级cell的展开与收回的示例代码

    本篇文章主要介绍了iOS中tableview 两级cell的展开与收回的示例代码,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧...

    J_Kang3862021-04-22
  • IOSiOS 雷达效果实例详解

    iOS 雷达效果实例详解

    这篇文章主要介绍了iOS 雷达效果实例详解的相关资料,需要的朋友可以参考下...

    SimpleWorld11022021-01-28
  • IOS关于iOS自适应cell行高的那些事儿

    关于iOS自适应cell行高的那些事儿

    这篇文章主要给大家介绍了关于iOS自适应cell行高的那些事儿,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的...

    daisy6092021-05-17
  • IOS解析iOS开发中的FirstResponder第一响应对象

    解析iOS开发中的FirstResponder第一响应对象

    这篇文章主要介绍了解析iOS开发中的FirstResponder第一响应对象,包括View的FirstResponder的释放问题,需要的朋友可以参考下...

    一片枫叶4662020-12-25
  • IOSiOS通过逆向理解Block的内存模型

    iOS通过逆向理解Block的内存模型

    自从对 iOS 的逆向初窥门径后,我也经常通过它来分析一些比较大的应用,参考一下这些应用中某些功能的实现。这个探索的过程乐趣多多,不仅能满足自...

    Swiftyper12832021-03-03