我在7.1上有两个iOS设备,一个是CBCentral,另一个是CBPeripheral。这两个设备都在运行我自己创建的软件,所以所有的UUID/CBService/CBCharacteristic都是由我生成的,而且所有参数都是固定的,并且随时都是已知的。
同时,两个设备都可以访问共享服务器,以存储我可能希望的任何任意数据。
考虑到我控制着整个生态系统,是否有一种方法可以让CBCentral设备连接到CBPeripheral设备,而不必先执行scanForPeripheralsWithServices:调用?在某种意义上,我想在这两个装置相互接触之前,“教”中央关于外设的存在。
也许CBPeripheralManager单元可以将一些数据或值发布到CBCentralManager单元可以提取的服务器上,然后直接分配/插入它自己的CBPeripheral对象以供connectPeripheral:options:使用。
发布于 2014-03-17 08:44:32
不,你不能。核心蓝牙使用内部生成的UUID来识别对等体。如果不进行扫描,系统将无法识别外围设备,并且无法调用retrievePeripheralsWithIdentifiers:方法来获得可以调用connectPeripheral:的CBPeripheral。
由于无法注入UUID,所以必须至少扫描一次。但取决于许多因素,可能是很多次。
https://stackoverflow.com/questions/22449510
复制相似问题