gpt4 book ai didi

ios - 没有1309是否可以在中央模式和外围模式下运行?

转载 作者:可可西里 更新时间:2023-11-01 04:02:10 25 4
gpt4 key购买 nike

精简版

有人知道 CB iOS 应用程序在中央模式和外围模式下运行,并且作为中央角色连接到外围设备吗?某个地方的存储库中的实际应用程序或草图会很棒。

更长

在 SO 之前已经提出了在两种模式下操作(here),并且提到了 didFailToConnectPeripheral 中的Unknown Error: 1309(here)。

在两种模式下运行的大量实验,以及与 Apple 员工关于 TSI 打开的谈话让我确信,在同时使用中央模式和外围模式的应用程序中连接到外围设备将导致 1309,它具有在与该外围设备的后续连接中再次发生的可能性非常高(直到设备重新启动)。

Apple 表示这是由于使用这两种模式时造成的死锁,尽管我一直非常小心地区分对 CBCentralManagerCBPeripheralManager 的调用,并确保它们的事件不要重叠。

鉴于这个错误根本不常被提及,我有点好奇其他人是否设法避免了它,或者只是对这个用例不感兴趣。

最佳答案

这是百分百可能的,而且实际上非常简单。只是不要在主线程上同时运行。我已经发布了几个同时使用这两者的应用程序,但我个人从未遇到过该错误。

如果您确实收到了 didFailToConnect:,只需保存外围设备的 UUID(现在的标识符),再次检索外围设备,然后调用连接。很高兴。

另请注意,最好只在需要时公布 peripheralManager。如果您需要它不断做广告,那么您仍然可以继续使用。但如果你能避免它,就在需要的时候做广告。长时间转换广告(同时也在做 cbcentral 工作)时,我发现有点特别迟钝。

关于ios - 没有1309是否可以在中央模式和外围模式下运行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22185012/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com