iOS 蓝牙打印小票

作者: 咖啡豆8888 | 来源:发表于2017-06-26 10:37 被阅读474次

前言:

最近做了款蓝牙打印的功能,包含蓝牙自动连接,蓝牙搜索,连接之后进行打印。总结了下知识点,写了一个简单的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

相关文章

  • 打印机

    iOS开发之蓝牙/Socket链接小票打印机(一)iOS开发之蓝牙/Socket链接小票打印机(二) iOS so...

  • iOS 蓝牙打印小票

    前言: 最近做了款蓝牙打印的功能,包含蓝牙自动连接,蓝牙搜索,连接之后进行打印。总结了下知识点,写了一个简单的De...

  • iOS蓝牙打印小票

    最近搞了个蓝牙打印小票的小东西,先上效果 数据格式 json: 使用: 话不多说上Demo:GitHub地址

  • CoreBluetooth

    iOS-BLE蓝牙开发持续更新 - 简书 蓝牙打印小票 一个第三方 IOS BLE4.0蓝牙和外设连接和收发数据的...

  • iOS蓝牙4.0打印小票功能的实现

    公司业务有涉及到订单模块,客户需要连接蓝牙打印机打印订单小票。所以本文就记录一下iOS蓝牙打印的相关知识以及实际开...

  • iOS开发 蓝牙打印小票

    要求:手机通过蓝牙连接蓝牙打印机,在手机上点击‘打印’,打印机就打印出小票(小票就跟送外卖的那种)。 设备:BT5...

  • iOS CoreBluetooth 的使用讲解

    最近研究了iOS下连接蓝牙打印机,实现打印购物小票的功能,对iOS中BLE 4.0的使用有了一定的了解,这里记录一...

  • 蓝牙打印小票

    //蓝牙搜索的类 @interface QueryPrinterViewController (){ UIT...

  • iOS 蓝牙打印小票命令汇总

    在SaaS App中有很多地方需要通过连接蓝牙打印机打印结算及订单小票,而且在结算的时候使用打印机的的频率比较高,...

  • iOS Bluetooth 打印小票(一)

    在iOS app中连接蓝牙打印机打印商品小票,在没有电脑只有手机的情况下,感觉非常实用,而且最近经常最近公司正好也...

网友评论

  • 阿汤_9bba:请问大神,能否设置纸的宽度呀,应为公司用了好几种打印纸。
    阿汤_9bba:@咖啡豆8888 我们公司用的纸是80宽的,用您的demo打印出来的,选择局中属性,是以120宽的纸进行居中的。
    咖啡豆8888:你是要打印什么样式的呢?会自动换行的吧 我记得。。好久不管理这个库了:cry:
  • 50b0909c1a8f:只支持ios10以上的?
  • ame017:谢谢大佬,用你的demo的蓝牙部分,配合打印机官方demo的打印部分 用了半天时间就完美的解决了问题
  • 253271352e3e:用你的demo 打印出来有乱码 换行也有问题
    咖啡豆8888:@火焰鼠 方便拍个照片我看下么?我qq38251725
  • 少年_如他:蓝牙设备的唯一标识符是指啥?
    咖啡豆8888:每个蓝牙都有一个自己的标识码,这个标识码是唯一的,是区别其他设备的方法!
  • 萨瓦迪卡123456:你上传的项目有问题
    咖啡豆8888:工程我已经修改了路径 ,现在可以了。
  • 咖啡豆8888:多谢大家支持

本文标题:iOS 蓝牙打印小票

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