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

ios ble:didDiscoverPeripheral没有回调

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

参考资料:

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没有回调” 的相关文章

找不到System.Web.dll

找不到System.Web.dll

  这个其实是编译配置选错了。Client Profile里不包含System.Web.dll,只有完整的.Net才有这个。...

Altium Drag妙用——批量添加引脚(PIN)延长导线

Altium Drag妙用——批量添加引脚(PIN)延长导线

使用Altium画单片机相关的原理图的时候,因为要对单片机的引脚添加网表(Netlist),所以必然会用导线将PIN延长,然后加网表。要达到的效果如图所示: 最笨的办法就是:一根线一根线画。这样的话效率很低,典型的浪费时间。有没有更高效的办法呢?答案是肯定的,这就是我标题里提到的Drag的功效。...

BLE 128位UUID规定及使用

BLE 128位UUID规定及使用

参考资料: http://www.deyisupport.com/question_answer/wireless_connectivity/f/45/t/30862.aspx 问题: 私有profile必须要用128位的UUID? 答案: 16bit UUID是SIG定义的,私有profile需...

51单片机内部扩展RAM

51单片机内部扩展RAM

一直想写一篇关于51RAM的文章,网上看到这篇文章,觉得讲的比较详细,我就不献丑了,转载过来了。初学者可以看看。 原文网址:http://www.jhmcu.com/index.php/mcu-internal-expansion-ram-application/ 单片机内部RAM:共256个单元...

浅析电波表——英国MSF码

浅析电波表——英国MSF码

参考文献: http://en.wikipedia.org/wiki/Time_from_NPL http://www.npl.co.uk/science-technology/time-frequency/time/products-and-services/msf-radio-time-sig...

Protel99SE自动编号

Protel99SE自动编号

说到Protel99SE的自动编号,大家想到的肯定是Tools->Annotate,如图所示。 但是这种方法有个很大的缺点,虽然可以设置自动编号的方向,但是编号却不尽如人意。例如,我想让某一部分元件的编号是连续的,但是用此方法所得的编号很难保证连续。这样的话给绘制PCB的工作带来了很大麻...

发表评论

访客

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