在两台iOS设备(iPad-mini)之间通信停止后,完全重启iOS蓝牙BTLE中央和外围设备管理器的最佳方法是什么?
有时几分钟后,我的BTLE通讯停止(中央无法获得外围设备的响应,虽然每台设备的调试输出显示应用程序仍在运行且中央应用程序仍在尝试扫描外围设备,外围设备仍然是广告),并且不会重新开始: 停止扫描并停止广告后,通讯仍然无效; 重新打开应用程序后,comm仍然无效(!); 在POWER CYCLING之后,iPad再次运行,但几分钟后就死了。
因此,我正在做的事情就是破解iOS核心蓝牙软件。
有时会有来自底层BTLE层的错误消息。
背景: 该系统中的每个iPad交替作为中心,向其他人读取/写入数据,然后作为外围设备,由其他人读取。从不在同一时间,并且在转换之间延迟1秒。
答案 0 :(得分:4)
蓝牙堆栈并不是iOS最强大的部分。这可能在iOS7中有所改进,但问题一直存在。您最有可能强调系统,以便更频繁地发生此挂起。您应该创建一个错误报告并将其发送给Apple。或者创建一个TSI,作为开发人员,你每年都有两个。他们是唯一可以为此做点什么的人。
要解决此问题,重新启动应用程序通常会有所帮助,但有时需要打开/关闭蓝牙,或者最坏情况下设备需要重启电源。不幸的是,没有程序化的方法可以做任何这些。