Mac*_*206 15 objective-c ios core-bluetooth
我到处寻找并尝试了一切,但似乎没有任何工作:(
在iOS上,我正在制作iOS设备需要交换数据的应用程序(适用于iOS 6及更高版本).因此,两个设备需要同时是外围设备和中心设备.我完全按照WWDC视频中的规定完成,但设备无法相互成功连接.
当我只将一个设备设置为中央设备而另一个仅设置为外围设备时,中央设备无缝连接到外围设备.
但是,当两个设备同时是外围设备和中心设备时,我会得到随机错误:在任何阶段(发现服务/特性或设置通知值YES)有时会发生错误,有时discoverServices甚至不会调用didDiscoverServices
我应该做些什么吗?我只是将外设和中央代码合并到一个视图控制器中.我注意到,如果设备"a"连接到设备"b",然后设备"b"连接到设备"a",它通常工作.我通过NSThread sleepForTimeInterval:在每个设备上手动使用不同的时间来管理这个,但是我怎么能以可靠的(而不是手动预定义的)方式让一个设备先连接(然后另一个)呢?
如果我确实遇到错误,通常他们就是这么简单 Unknown error
如果您需要任何代码或任何其他信息,请告诉我:)
all*_*rog 23
是的,它可以同时兼具两种角色.你只需要初始化a CBPeripheralManager和a CBCentralManager.一旦外围设备管理器初始化并且您收到POWER ON状态,设备就会开始充当外围设备.您可以在此时添加服务并从其他设备接收连接.同时,您可以使用中央管理器扫描并启动与其他外围设备的连接.
请注意,即使它充当外围设备,也无法连接到您自己的设备.
对于您的错误,我建议:
[[CBCentralManager alloc] initWithDelegate:self queue:my_dedicated_bluetooth_q]Unknown error最近,几个开发商开始出现这个不为人知的消息.从您的描述来看,可能有很多原因可能导致您的设置失败,并且需要更多信息才能更好地解决SO问题.有关详细信息,我建议您搜索bluetooth-dev邮件列表存档https://lists.apple.com/archives/Bluetooth-dev或发送邮件Bluetooth-dev@lists.apple.com.如果你接近这样的合理问题,社区会提供很大的帮助.
| 归档时间: |
|
| 查看次数: |
7169 次 |
| 最近记录: |