今天App寫到了藍牙重連的階段,以前針對sdk 6.0寫的代碼,藍牙設備的回復是通過
- (void)retrievePeripherals:(NSArray *)peripheralUUIDs
然后回調
centralManager:didRetrievePeripherals:
函數來得到可以回復設備的Array。
在SDK7之后,- (void)retrievePeripherals:(NSArray *)peripheralUUIDs被廢除了,取而代之的是
retrievePeripheralsWithIdentifiers:
這個函數會Returns a list of known peripherals by their identifiers.
剛開始我還以為調用了這個函數,還要在回調函數中完成連接操作,后來才發現,SDK6.0中的回調函數就是返回a list of known peripherals by their identifiers. 而現在不用通過回調函數,retrievePeripheralsWithIdentifiers:的返回值就是 a list of known peripherals by their identifiers. 這樣代碼更簡潔了,這要直接對這些外設直接進行連接操作就可以了。
簡單代碼如下:
var identiferArray = Array<NSUUID>() identiferArray.append(peri.identifer)//將identider加入得到identiferArray var knownPeripherals = myCentralManager!.retrievePeripheralsWithIdentifiers(identiferArray) for p in knownPeripherals { myCentralManager!.connectPeripheral(p, options: nil) }