作者iphone7pro (i7pro)
看板MacDev
标题[问题] 请问蓝芽连线问题
时间Thu Aug 24 16:34:01 2017
哈罗
想请问一个有关蓝芽蓝线问题
当我已经开始扫描蓝牙设备的时候
如果我再触发一次scanForPeripherals
他就完全扫不到设备了
这会是因为他把第二次扫到的设备跟前一次比较
如果是相同的就合并吗?
所以请问有没有人遇过这个问题?
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 220.134.182.243
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/MacDev/M.1503563644.A.86D.html
※ 编辑: iphone7pro (220.134.182.243), 08/24/2017 16:38:20
1F:→ benjenq: 再次scan前不先stop scan吗? 08/24 21:14
2F:→ m339606: 要先停止才能进行下次扫描 08/24 23:52
3F:推 azules: option:CBCentralManagerScanOptionAllowDuplicatesKey 08/25 00:28
4F:→ azules: 预设NO 所以不是新的peripherals就不会再出现 08/25 00:29
5F:→ azules: 这样你就不用再触发一次scanForPeripherals 08/25 00:30
改成先停止再开始就可以扫到设备了
感恩感恩~~!!
想再问一下就是像我们接收到蓝牙给的资料时是16位元的资料
然後再把这个资料转换成我们要的数据
这个过程会用到一些api
UnsafePointer<UInt8>((data as? NSData)?.bytes.assumingMemoryBound
(to: UInt8.self))
然後取得pointee
Pointer?.withMemoryRebound(to: UInt16.self, capacity: 1,
<#T##body: (UnsafePointer<T>) throws ->
Result##(UnsafePointer<T>) throws -> Result#>)
好奇这些过程再做什麽事情 看一下文件里面的解释还是看不太懂QQ
※ 编辑: iphone7pro (220.134.182.243), 08/25/2017 10:23:17
※ 编辑: iphone7pro (220.134.182.243), 08/25/2017 10:34:47
6F:推 fishead1116: 抓资料我是这样写 08/25 11:04
7F:→ fishead1116: var rawData = [CUnsignedChar](repeating: 0,count: 08/25 11:04
8F:→ fishead1116: data.count) 08/25 11:04
9F:→ fishead1116: data.copyBytes(to: &rawData, count: data.count) 08/25 11:05