美文网首页iOS高级开发技术
iOS蓝牙,使用iOSDFULibrary进行DFU升级

iOS蓝牙,使用iOSDFULibrary进行DFU升级

作者: xndiosa | 来源:发表于2018-06-05 16:40 被阅读297次

    现在项目有一个需求就是做空中升级,以前都是用官方代码进行升级的,但是代码使用的framework用的是swift,目前项目又是用OC写的,所以我们要进行混编,步骤如下:

    1.使用CocoaPods安装iOSDFULibrary,官方下载地址:https://github.com/NordicSemiconductor/IOS-Pods-DFU-Library

    2.安装完成后新建一个swift类,系统会提示是否建立桥接文件,点击创建

    3.修改配置:

    4.在需要使用的oc类中导入头文件:#import<iOSDFULibrary/iOSDFULibrary-Swift.h>即可使用了

    5.前期工作完成的差不多了,接下来就开始升级了,基本步骤就下面几点:

    1>连接需要升级的蓝牙设备,向设备写升级指令,让设备处于升级状态

    2>设备处于升级状态后,会自动断开,然后产生dfu开头名字的设备,连接这个设备

    3>初始化DFUServiceInitiator,开始升级。传入的CBCentralManager,和CBPeripheral都是dfu设备的

    4>等待升级完成

    直接上代码:

    1.声明属性

    2.请求服务器下载升级文件,保留在本地

    3.上传文件

    4.实现代理,在代理方法中可获取进度,更新的状态等

    相关文章

      网友评论

      • _maomao::smile:mark
      • 陈藩:升级Error内怎么处理呢?
        xndiosa:看你具体问题是什么
      • iOSTbag:Error 302 遇到过么
        iOSTbag:@Lionel_Messi 首先进入空中升级模式 断开蓝牙连接 然后扫描dfu的设备 再进行升级 不好用地话延时个几秒就好了
        Lionel_Messi:@iOSTbag 所以,大兄弟解决了嘛
        xndiosa:@iOSTbag 没有哟
      • Gizone_iac:更新结束后,如何断开连接啊?
        Gizone_iac:@xndiosa 确实会断开 但是没有走到iOS bluetooth Disconnect
        xndiosa:更新完了会自动断开的呀
      • 大莹纸:不错哦。受益匪浅

      本文标题:iOS蓝牙,使用iOSDFULibrary进行DFU升级

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