moe*_*moe 6 iphone objective-c ios core-bluetooth
任何人都知道CB iOS应用程序在中央和外围模式下运行,并且作为中心,连接到外围设备?某个存储库中的实际应用程序或草图会很棒.
在这两种模式下工作已经让之前(开始讨论在这里),并Unknown Error: 1309在didFailToConnectPeripheral已经提到(在这里).
在两种模式下进行的大量实验,以及与Apple员工就TSI打开的对话,使我确信在使用中央和外围模式的应用程序中连接到外设将导致1309,这非常高在后续连接到该外围设备时重复出现的可能性(直到设备重新启动).
Apple表示这是因为在使用这两种模式时造成了死锁,但我一直非常小心地将呼叫分区为CBCentralManagervs. CBPeripheralManager,并确保其活动不重叠.
鉴于这个bug根本没有被提及,我有点好奇其他人是否设法避免它,或者只是对这个用例不感兴趣.
这是百分百可能的,而且实际上非常简单。只是不要在主线程上运行两者。我已经发布了几个同时使用这两种方法的应用程序,但我个人从未遇到过该错误。
如果您确实收到了didFailToConnect:,只需保存UUID外围设备的(现在的标识符),再次检索外围设备,然后调用 connect。很好,可以走了。
另请注意,最好只在需要时公布外围管理器。如果您需要它不断做广告,那么您仍然可以继续使用。但如果你能避免的话,就在需要的时候做广告吧。当长时间做广告时(同时也做中央工作),我发现有一点额外的迟缓。
| 归档时间: |
|
| 查看次数: |
207 次 |
| 最近记录: |