当前位置:首页 > 技术心得 > 正文内容

ios ble:didDiscoverPeripheral没有回调

xjtudll10年前 (2016-08-12)技术心得14240

参考资料:

http://stackoverflow.com/questions/26320578/diddiscoverperipheral-not-been-called-after-advertising-another-ios-device

问题:

启动scan之后,didDiscoverPeripheral没有回调

原因:

在BLE Central还没有power on(CBCentralManagerStatePoweredOn)之前,就启动了scan。

当系统是ios7时,xcode仅仅是给个warning,但是程序能正常运行。

在ios8及之后,代码将不会正常工作

这种问题尤为常见于从ios7升级系统。

解决办法:

在BLE central power on之后,再启动扫描

- (void) centralManagerDidUpdateState:(CBCentralManager *)central

{  

    if (central.state == CBCentralManagerStatePoweredOn)

    {

        //在这里启动扫描

    }

    else if(central.state == CBCentralManagerStatePoweredOff)

    {

    }

}

扫描二维码推送至手机访问。

版权声明:本文由鸟的天空发布,如需转载请注明出处。

本文链接:http://xjtudll.cn/Exp/415/

标签: iosBLE
分享给朋友:

“ios ble:didDiscoverPeripheral没有回调” 的相关文章

VS2010 水晶报表部署依赖问题

VS2010 水晶报表部署依赖问题

水晶报表有两种部署方式: 1、直接安装运行环境 如果手动安装运行环境,那么没什么问题。如果通过打包后的Setup.exe来安装,则很有可能出现问题。 原因: (1) 打包后的Setup.exe有可能先安装水晶报表运行环境 (2) 该运行环境依赖于.NET环境,如果没有先安装.NET,那么运行环境直接...

Altium避开某些区域覆铜

Altium避开某些区域覆铜

覆铜的时候,有时候会有些地方不能覆铜。例如下图,如果想在A区域覆铜,而B区域不覆铜。该怎么办呢?? 网上有云: 1、B画keepout层,然后再覆铜,这样B就可避开覆铜。 2、B区域放置一个同等大小焊盘,然后覆铜。 以上方法均不怎么完美,重新覆铜的画有可能会影响覆铜的形状。 其实Altium已经自...

Altium pcb文件过大

Altium pcb文件过大

问题描述: 一些Altium Designer设计的文件看上去板子小且走线也不多,但是保存后文件却比较大。 原因: 通常是在PCB中放置了非默认字体的字符。 在软件里面有一个默认的选项“Embed  TrueType Fonts inside PCB Doc...

老单单据上下查,某些字段在上下查出来的界面看不到

https://vip.kingdee.com/questions/55600564193023233/answers/55600565182629120 问题描述: 例如:将外购入库上的【保管】字段显示在序时簿界面,但是在采购发票序时簿上查外购入库单的界面看不到【保管】,查询起来不方便。 解决方案...

sharepoint 安装Office Web Applications 报错

sharepoint 安装Office Web Applications 报错,如下: 未能从程序集“Microsoft.Office.Excel.Server.MossHost, Version=14.0.0.0, Culture=neutral, PublicKeyToken=...

vc改变进度条颜色及去掉进度条边框

参考资料:http://blog.csdn.net/athemon/archive/2009/06/03/4238200.aspx 1、改变进度条颜色 SendMessage这个函数 代码如下:       m_Progress1.SendMessa...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。