Hello Estimote Community ->
We recently updated our EstimoteSDK and discovered that the “instanceId” parameter as been removed from ESTEddystone.h and packed into the ESTEddystoneUID class. This poses quite a problem considering that the docs haven’t been updated to reflect the change and delegate method doesn’t find ESTEddystoneUID - it returns ESTEddystone objects:
func eddystoneManager(manager: ESTEddystoneManager, didDiscoverEddystones eddystones: [ESTEddystone], withFilter eddystoneFilter: ESTEddystoneFilter?) {
for eddystone in eddystones as ESTEddystoneUID {
if let index = beacons.indexOf({$0.instanceId ==eddystone.instanceID}) {
let beacon = beacons[index]
if (beacon.didLoadBeacon) {
beacon.update()
beacon.proximity = eddystone.proximity
rangeBeacon(beacon)
}
} else {
let beacon = EddystoneBeacon.newBeacon()
beacon.instanceId = eddystone.instanceID!
beacon.loadBeaconActions()
beacons.append(beacon)
}
}
NSNotificationCenter.defaultCenter().postNotificationName(BeaconManagerDidDiscoverBeaconsNotification, object: self, userInfo: nil);
}
Has anyone else had this problem? How are we supposed to access and compare the instanceId’s in the new SDK (4.5)? Note - the one’s we already have are being returned from our web service.