第一次扫描后系统才去检查蓝牙状态,调用更新的代理方法

///开始扫描
- (void)startScan: (void(^)(CBPeripheral *))update{//1.扫描外设 Services: 扫描指定服务的外设  options: 设置 为nil表示默认设置
#pragma mark - 第一步 扫描外设 scanForPeripherals[self.cbCentralManager scanForPeripheralsWithServices:nil options:nil];if (self.cbCentralManager.state == CBManagerStateUnknown) {_isStateUnknown = YES;} //保存扫描回调 self.scanBlock =self.scanBlock = update;
}
//蓝牙状态更新CBCentrlManager.state
-(void)centralManagerDidUpdateState:(CBCentralManager *)central{NSLog(@"%zd",central.state);[self isBluetoothAvailabel];//如果是打开app后第一次扫描,则需要在确定蓝牙状态是CBManagerStatePoweredOn后再扫描一次if (_isStateUnknown) {[self.cbCentralManager scanForPeripheralsWithServices:nil options:nil];}
}

下面的博客是对我在github上上传的蓝牙工具类的介绍,这个工具类兼容oc和swift, 上面的代码摘自这个工具类

参考博客:
iOS(oc swift)蓝牙框架(工具类 demo)

can only accept this command while in the powered on state(iOS蓝牙 打开app后的第一次扫描要扫描两次)相关推荐

  1. 2022-02-22:机器人大冒险。 力扣团队买了一个可编程机器人,机器人初始位置在原点(0, 0)。小伙伴事先给机器人输入一串指令command,机器人就会无限循环这条指令的步骤进行移动。指令有两种

    2022-02-22:机器人大冒险. 力扣团队买了一个可编程机器人,机器人初始位置在原点(0, 0).小伙伴事先给机器人输入一串指令command,机器人就会无限循环这条指令的步骤进行移动.指令有两种 ...

  2. Windows Driver开发_NT Driver框架:The driver is not in a state to accept this command

    通常我们可以使用一些驱动加载工具来改变我们驱动的行为,如加载驱动时执行入口函数与卸载函数,这里是我用当我们点击Start时会调用DriverEvent函数,并且正常加载 但当我们点击Stop卸载时确报 ...

  3. Flutter学习之Dart语法特性

    一.前言 第一天把Flutter环境搭建了,并简单实现第运行第一个Flutter项目,感觉很不错,一些基本操作和原生体验差不多.用Flutter框架写过App项目的开发者都知道,Flutter是一个使 ...

  4. linux查看应用线程号命令,虚拟机:Linux查看线程信息的步骤

    描述 1. 使用 pstree -p PID ps aux | grep firefox | grep -v grep charles 26058 0.0 0.0 4908 1152 ? S 19:1 ...

  5. xlsx文件打开乱码_Excel 2016 双击无法打开xlsx文件怎么办?

    最近我重装了系统(Win10+Office2016),然后发现了一个奇怪的bug:双击xlsx文件,只能打开Excel窗口,但是打不开这个文件,有时候再次双击就能打开了,但有时再次双击也不管用,需要在 ...

  6. IOS的 testflight测试设置

    管理员邀请参与者 1.登录开发者账号https://developer.apple.com/account 2.进入后,点击ituns connect 3.点击进入用户和职能 4.在用户栏点击添加按钮 ...

  7. Adobe2022更新,打开photoshop总是提示需要访问钥匙串秘钥怎么解决?

    Adobe2022更新,欢喜的同时发现,每次打开PS软件,每次都提示需要登陆钥匙串秘钥的问题,非常的麻烦,怎么解决这个问题呢,一起来看看吧. 安装photoshop2022 首先开机,然后无视钥匙串弹 ...

  8. Kubernetes 三大探针及探针方式

    一.探针背景介绍 1.编排工具运行时,虽说pod挂掉会在控制器的调度下会重启,出现pod重启的时候,但是pod状态是running,无法真实的反应当时pod健康状态,我们可以通过Kubernetes的 ...

  9. Windows10安装Markdown安装教程(超级详细)

    markdown其实就是我们平常写博客的地方,下面我来详细介绍它的安装教程 首先到官网去安装 markdown 点击download,我反正点击download后它自动就下载了 然后下载好后是安装包, ...

最新文章

  1. 太任性!00 后少年买不到回国机票,因“泄愤”找黑客攻击系统,被判刑 4 年
  2. Apache的443端口被占用解决方法
  3. windows 导出 oracle,windows 环境下oracle导入导出
  4. tkinter回调异常_处理python tkinter中的异常
  5. 用SDL创建一个窗口
  6. X3D.Studio编辑器界面介绍
  7. php 修改excel内容吗,php更新修改excel中的内容例子
  8. recv和send函数
  9. iOS 用自签名证书实现 HTTPS 请求的原理
  10. HDU 2159 完全背包
  11. Atitti  onvif 设备发现与原理
  12. 网络可视化工具netron
  13. ad16怎么画弧线_ad15软件中如何画圆弧 多点画圆弧软件
  14. QGraphicsView使用详解
  15. 虾皮 店铺如何获取免费流量?5种引流量办法
  16. imx533 配置 制作SD卡启动文件系统
  17. 如何把wps随机数据固定_WPS Excel:巧用随机函数rand和randbetween生成各种数据
  18. Arcmap 安装完后使用出现visual fortran run-time error的解决方法
  19. linux 街机列表,linux下街机模拟器联机
  20. 最优化学习 无约束优化问题的最优性条件

热门文章

  1. 美团招聘不要黄泛区及东北人_吃瓜群众愤慨怒怼!
  2. 专访宜信CTO向江旭:技术应当服务于场景,AI天生适合金融业
  3. opencv创建和显示窗口
  4. 交叉编译工具链建立与常识
  5. CSDN-MarkDown编辑器的姿势大全
  6. 高知的程序员必须甩脱穷人思维
  7. Java ~ Reference
  8. Java 第一个程序Hello
  9. 新手福音!最全面的易懂CSS总结,一篇博文让你了解CSS,动一动小手收藏吧
  10. 搭建大众点评网CAT监控