iOS-Fleet-Management-SDK: Nearable Sticker stopped working on iOS 13 with EstimoteSDK

Basic information

Estimote iOS SDK version: pod ‘Estimote SDK’ newest iOS device(s) affected: all iOS devices iOS version(s) affected: iOS 13 Estimote device hardware version: Nearable Sticker Estimote device firmware version:

Additional information

Please read the checklist and place x sign where apropriate for your use case.

  • [? ] My beacons have Estimote Monitoring enabled (check it in the Estimote Cloud, or via app).
  • My iOS device/devices supports BLE (iOS must be 5.0 or higher).
  • My iOS device/devices have Bluetooth enabled.
  • My app has NSBluetoothPeripheralUsageDescription in its Info.plist file.
  • My app has Location Permissions granted.
  • My app has NSLocationWhenInUseUsageDescription and NSLocationAlwaysAndWhenInUseUsageDescription keys in its Info.plist file.
  • My app has NSLocationAlwaysUsageDescription or NSLocationWhenInUseUsageDescription in its Info.plist file.
  • If my app is supporting iOS 10 and earlier, and has NSLocationAlwaysUsageDescription key in its Info.plist file.
  • [?] If my app has to run in the background, it has UIBackgroundModes key with value bluetooth-central in its Info.plist file.

Description

After upgrade to iOS 13 working code that detects Nearble stickers stopped working. Now delegate method is never called.

Here are my code snippets:

 private func startRangingNearables() {
        
        self.tables.forEach { table in
            guard let nearableIdentifier = table.beaconId else { return }
           
            self.nearableManager.startRanging(forIdentifier: nearableIdentifier)
            
        }
    }

func nearableManager(_ manager: ESTNearableManager, didRangeNearable nearable: ESTNearable) {
       
        if nearable.rssi <= 0 {
            print("Did range nearable: \(nearable.identifier), power: \(nearable.txPowerInDbm), rssi: \(nearable.rssi), interval: \(nearable.advInterval)")
            
            beaconContainer.addBeacon(nearable.toBeacon())
        }

I haven’t changed recently nothing in my code, maybe there was update of EstimodeSDK pod and update from iOS 12.4 to iOS 13.

Thay are still detected in Estimote iOS app so they are live and identifiers are correct

Ranging nearables failed with error: Error Domain=com.estimote.nearables Code=301 “Blueooth is not powerd on.” UserInfo={NSLocalizedDescription=Blueooth is not powerd on.}

Additional information

The same code worked when run on iOS 12 device, but doesn’t work on iOS 13. iBeacons work correctly, only Nearable Stickers stopped working.

About this issue

  • Original URL
  • State: closed
  • Created 5 years ago
  • Reactions: 1
  • Comments: 22 (11 by maintainers)

Most upvoted comments

🙇 pleasure is mine! Glad we helped!

@chwastek Wonderful, it work perfectly on iOS 13 and iOS 12 as well. Thanks a lot for you support. No need to change any lines of code.

@michzio @HoangNguyenBigLabs we released just now a new version https://github.com/Estimote/iOS-Fleet-Management-SDK/releases/tag/4.31.2 (this one should mainly fix issue with legacy beacons). LMK if it works for you

Ok I will check it today or tomorrow and give you info how it works now 😃

We’re working on fixing that as we speak 😃 though can you specify which version of EstimoteBluetoothScanning do you have? This library should work (starting with https://github.com/Estimote/iOS-Bluetooth-Scanning/releases/tag/v1.0.6)… if it’s not then please submit the issue there as well.

Thanks for spotting bug, we’ll try release fix asap.