質問: Bluetooth LEなデバイスのローカルネームを変更して、その後に再び CBCentralManager scanForPeripheralsWithServices:options: と CBCentralManagerDelegate centralManager:didDiscoverPeripheral:advertisementData:RSSI: を使って検索すると、見つかったデバイスの名前が変更前のままになっています。 iOS 8で、変更後の名前を取得する方法はありますか?
回答: デバイスが見つかったときに呼ばれるメソッド、 ``` - (void)centralManager:(CBCentralManager *)central didDiscoverPeripheral:(CBPeripheral *)peripheral advertisementData:(NSDictionary *)advertisementData RSSI:(NSNumber *)RSSI ``` の peripheral.name にはOSがキャッシュしている名前が入っているようですが、 `advertisementData[@"kCBAdvDataLocalName"]`にはアドバタイズパケットの ローカルネームが入っているようです。 ちなみに、接続に成功するとperipheral.nameは変更後の名前に更新されるようです。