ios零碎记录iOSiOS 开发~项目常用,经典内容收集

iOS 蓝牙打印小票

2017-06-26  本文已影响474人  咖啡豆8888

前言:

最近做了款蓝牙打印的功能,包含蓝牙自动连接,蓝牙搜索,连接之后进行打印。总结了下知识点,写了一个简单的Demo,对系统的<CoreBluetooth/CoreBluetooth.h>进行二次封装,避免一大推的代理调用。使用方法:

pod 方法 :            pod 'JWBluetoothPrinte'

github地址:  https://github.com/kafeidou1991/JWBluetoothPrinte

给大家分享下。有什么错误的话希望大神们给我留言或者QQ(38251725)我,及时指正,避免误导小伙伴们,谢谢。

1.导入工程文件

首先我们要知道手机蓝牙简单的工作流程,我们怎么才能实现打印功能呢?下面我说下自己的见解。流程如下:判断蓝牙是否打开-->搜索蓝牙设备-->连接蓝牙设备-->扫描蓝牙服务-->搜索服务特性-如果有打印特性 即可实现打印。话不多少直接上代码。使用方法:使用pod  或者 手动添加 <JWBluetoothPrinte>库地址也可,在使用的地方导入“#import"JWBluetoothManage.h"”头文件即可。

带入头文件

2.搜索蓝牙设备列表

搜索到的蓝牙设备列表

搜索结果里面有两个数组返回,peripherals是存放所有搜索到的蓝牙设备数组,rssis是对应蓝牙设备的信号强度数组,如果不需要 不关心即可。里面的大致流程就是:调用系统的广播功能,进行搜索设备。

3.连接蓝牙

1>自动连接上次连接的设备。

自动连接

当连接一次之后,会将蓝牙设备的唯一标识符记录在本地,然后在蓝牙设备列表中匹配,如果存在就连接,没有就不连接。

2>手动连接

手动连接

手动连接蓝牙,和自动连接没什么区别。

4.连接成功搜索服务,特性

设备连接蓝牙成功之后会启动搜索服务阶段,搜索到服务之后会继续搜索蓝牙设备特性属性。

服务、特性属性

要知道,只有符合CBCharacteristicPropertyWrite 支持写入的设备才能进行打印操作,否则是不支持打印功能的。当搜索到可写入属性的时候之后,这边可以进行打印操作了。

5.打印功能

打印数据

创建一个打印的helper,里面的属性可以详细阅读API,支持换行 文字,二维码生成,图片打印等等。

打印小票结果

好了,希望能够帮到需要做蓝牙的开发者,后续会考虑更新些东西。有什么错误或者问题,希望能够指正,QQ:38251725

上一篇 下一篇

猜你喜欢

热点阅读