美文网首页《OC专栏》
简单功能扫一扫-思想剖析 by:西瓜

简单功能扫一扫-思想剖析 by:西瓜

作者: 不够果断是种癌 | 来源:发表于2018-06-08 09:45 被阅读44次

分享给大家一个秘诀:

要开始写功能,首先得查这方面的资料,然后得在脑海里模拟这个功能的实现过程,而不是没有思路拿起键盘就敲的,敲的改来改去,思路不通又全删了,再慢慢敲。这样的效率是特别慢的。

好了废话不多说了,下面我们开始剖析一下扫一扫功能的实现:

第一步,首先我们得确定就是用户的相机的权限获取。只有在获取了用户的相机的权限才能进行扫一扫。因为扫一扫是拿相机的扫的。

第一步又可以分为2个部分。

01.如果是第一次使用扫一扫功能,这里会出现一个弹框提示用户,提示用户我们这边需要获取您的相机权限。如果允许,这里开启才能进行扫一扫,如果拒绝是扫不了的。

02.如果是第二次,我们这边就需要检测一下我们是否有app权限,如果有我们这边不做任何操作,直接进行扫一扫,如果没有我们需要提示用户去设置里面开启权限。

第二步:也就是开启一些初始化的设置了。

1.系统框架的导入,扫一扫依赖的系统库是AVFoundation。

2.获取当前摄像设备,如果获取不到。这里我们需要提示用户您的设置没有摄像头。然后扫一扫功能就此停止。

3.初始化设备的输入流和输出流。并对输出流支持的格式做判断。我们这边主要兼容条形码和二维码就好了。并且让输出流是在主线程里面进行刷新,如果是异步的话,链接是会出问题的。

4.初始化采集流(采集流的作用在于捕捉输入流和输出流)。并设置高的分辨率。

5.这里做一个判断,当采集流能添加输入流的时候,添加输入流。让采集流能够添加输出流的时候输出,添加输出流。截止到目前,采集流和输入流以及输出流已经衔接上了。

6.初始化采集流进行扫描窗口的位置。也就是扫描的范围。

7.针对窗口位置进行绘制框。(可自定义样式)。

8.针对窗口的上下,画条线,针对线写一个由上二下的动画。(可自定义动画)。针对动画来回走动,我这边里采用的是定时器。

9.在扫描窗口位置下面进行自定义(可是手电筒功能,提示用户的消息等等)。

第三步:开始扫描。

让采集流开始扫描采集。

第四步:扫描出结果。

01.扫秒出了结果,我们需要停止扫描动画。也就是定时器的扫描。

02.此时为想拿结果做的事定义为一个方法。

03.这里提示一下用户,扫描已完成,然后给用户2个选择,重新扫描,二确定。

04.当用户点击重新扫描。

采集流的扫描开启,定时器的开启,也就是线的动画的上动画开启。

有结果了又会走向第四步又从01开始。

05.用户点击确定。

1.移除采集流窗口。

2.销毁定时器。

3.调用想做的事情的那个方法。

至此扫一扫功能的整体模式就出来了。想要源码的可以私下找我拿。

相关文章

  • 简单功能扫一扫-思想剖析 by:西瓜

    分享给大家一个秘诀: 要开始写功能,首先得查这方面的资料,然后得在脑海里模拟这个功能的实现过程,而不是没有思路拿起...

  • 垃圾分类不慌 淘宝、支付宝、百度助力垃圾分类

    淘宝App“扫一扫”AI识垃圾功能 7月4日,淘宝App宣布推出“扫一扫”AI识垃圾功能,官方称“打开‘扫一扫’,...

  • iOS原生二维码生成&扫描

    扫一扫这个功能我们并不陌生,微信QQ加好友扫一扫,路边搞推广的扫一扫,吃饭付钱扫一扫。看来这个扫一扫应用的地方还真...

  • 关于扫一扫,是时候放弃第三方了

    原文地址:张飞的技术博客 扫一扫这个功能我们并不陌生,微信QQ加好友扫一扫,路边搞推广的扫一扫,吃饭付钱扫一扫。看...

  • nuxt扫一扫功能

    前言 扫一扫功能十分常见,目前我做的项目是webapp类型的。有在微信公众号,以及支付宝平台上去使用。那现在需要集...

  • iOS分分钟教你做出超精准扫一扫

    五一之前 公司安排做个小项目。主要功能就是扫一扫,比较简单 分享给大家。 .h里面 .m里面

  • 手机淘宝收货地址产品提升原型图

    手机淘宝新添收货地址支持扫一扫, 拍照上传, 粘贴文本等功能原型图。 1. 扫一扫功能说明: 需要获取用户摄像头权...

  • 微信扫码 scanQRCode 不可用

    今天在使用微信 scanQRCode 调起微信扫一扫识别二维码功能时,在老机器上面不能调起扫一扫功能,在比较新的手...

  • iOS 实现扫一扫功能

    iOS 实现扫一扫功能要用到如下几个对象: 然后基本配置如下: 扫描结果的代理: 下面贴上所有代码: 所需要的图片:

  • Android的扫一扫功能

    在项目尤其是电商项目,可能会频繁用到扫一扫的功能,这里我们使用google自带的控件,首先我们需要的是集成他的ja...

网友评论

    本文标题:简单功能扫一扫-思想剖析 by:西瓜

    本文链接:https://www.haomeiwen.com/subject/swyosftx.html