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

ios ble:didDiscoverPeripheral没有回调

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

参考资料:

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://www.xjtudll.cn/Exp/415/

标签: iosBLE
分享给朋友:

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

运算放大器芯片输出扩流电路三例(转载)

运算放大器芯片输出扩流电路三例(转载)

原文:http://m.elecfans.com/article/207872.html 工作原理:图1所示为三种集成运算放大器输出电流扩展电路,图(a )为双极性扩展电路;图(b)、图(c)为单极性扩展电路。在图1(a )所示电路中,当输出电压为正时,BG1管工作、BG2管截止;输出电压为负时,B...

C# MDI子窗体启动后没有最大化

C# MDI子窗体启动后没有最大化

目的: 子窗口启动显示后最大化,也就是填充了整个父窗体 但是发现一个问题: 如果在 Visual Studio 2005里通过属性工具栏设定了子窗体的 WindowState 为 Maximized,然后在运行过程中会发现子窗体实例化时不会最大化,而是当改变了父窗体的大小之后才随即最大化。而通过在子...

IAR Fatal Error[Cp001]解决

IAR Fatal Error[Cp001]解决

很久没用IAR了,这次重新折腾MSP430,安装软件后,编译程序,提示一个莫名奇妙的错误,以前一直没碰到过,错误内容如下: Fatal Error[Cp001]: Copy protection check, No valid license found for this product [20]...

Eclipse安装android 开发插件(ADT)

Eclipse安装android 开发插件(ADT)

如果是单独的eclipse,需要下载ADT。 (1)打开Eclipse, 在菜单栏上选择 help->Install New SoftWare 出现如下界面: 点击 Add按钮,出现如下界面 输入网址: https://dl-ssl.google.com/android/eclipse/...

远程连接:发生身份验证错误 要求的函数不受支持

远程连接:发生身份验证错误 要求的函数不受支持

问题: 远程连接失败,提示:发生身份验证错误 要求的函数不受支持 操作系统: Win7 64bit 原因:打了系统补丁,权限被限制了,需要修改客户端电脑相关权限。 解决过程如下: 双击“加密Oracle修正“ 然后重新打开远程登录客户端就可以登录了。...

eclipse显示行号及字体设置

eclipse显示行号及字体设置

1 编辑器显示行号 Windows -> Preferences -> General -> Editors -> Text Editors -> Show line numbers(勾选) 2 显示字体设置 Windows -> Preferences -&g...

发表评论

访客

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