首次连接需要在连接完成后去调用找服务,参考代码如下:
里面的condition根据客户需求来设计是否每次连接都要找服务。 然后需要把相应的读写或者通知的实例对象存起来,参考代码如下:
然后再次连接完成之后可以不用再找服务,直接利用这些实例来调用相应的操作,参考代码如下:
这样再次连接时候就不用等待找服务完成的事件,用户连接上从机就直接可以对从机进行操作。另外,需要注意一点,该方法只适合同一个mac的设备,如果需要连接另外一个设备,第一次连接还需要进行一次找服务操作。 原因是这样的,以write为例,app调用框架的writeCharacteristic的方法,
根据第一次连接的设备的实例获取到当时的服务,然后根据服务获取当时的设备地址,而我们第二次连接希望调用的是新的mac设备,所以再继续调用下去会出错。
以上分析可供参考。
|