ESTDeviceManager

@interface ESTDeviceManager : NSObject

The ESTDeviceManager class defines the interface for utility methods related to Estimote devices. The main functionality allows to discover CoreBluetooth based representation of Estimote Beacon devices.

One device manager instance can discover devices only with one filter at a time.

  • Informs if a filtered or telemetry scan is in progress.

    Declaration

    Objective-C

    @property (readonly, assign, nonatomic) BOOL isScanning;

    Swift

    var isScanning: Bool { get }
  • Delegate to be informed about scan results every 1 sec.

    Declaration

    Objective-C

    @property (readwrite, nonatomic) id<ESTDeviceManagerDelegate> _Nullable delegate;

    Swift

    weak var delegate: ESTDeviceManagerDelegate? { get set }
  • Start discovering Estimote devices determined by the filter, using CoreBluetooth. One filter can be active per a ESTDeviceManager instance. If called multiple times only the last provided filter is active.

    Causes the delegate to be called with -[ESTDeviceManagerDelegate deviceManager:didDiscoverDevices:] every 1 sec.

    Declaration

    Objective-C

    - (void)startDeviceDiscoveryWithFilter:(nonnull id<ESTDeviceFilter>)filter;

    Parameters

    filter

    Object conforming to ESTDeviceFilter protocol. Should be

  • Stops Estimote device discovery.

    Declaration

    Objective-C

    - (void)stopDeviceDiscovery;

    Swift

    func stopDeviceDiscovery()
  • Use this method to register objects that implement ESTTelemetryNotificationProtocol to receive updates about specific telemetry notifications.

    Declaration

    Objective-C

    - (void)registerForTelemetryNotifications:
        (nonnull NSArray<ESTTelemetryNotificationProtocol> *)infos;

    Swift

    func register(forTelemetryNotifications infos: [Any])

    Parameters

    infos

    Array of objects conforming to ESTTelemetryNotificationProtocol.

  • Use this method to register object that implements ESTTelemetryNotificationProtocol to receive updates about specific telemetry notifications.

    Declaration

    Objective-C

    - (void)registerForTelemetryNotification:
        (nonnull id<ESTTelemetryNotificationProtocol>)info;

    Swift

    func register(forTelemetryNotification info: ESTTelemetryNotificationProtocol)

    Parameters

    infos

    Single object conforming to ESTTelemetryNotificationProtocol.

  • Use this method to unregister object that implements ESTTelemetryNotificationProtocol from receiving updates about specific telemetry notifications.

    Declaration

    Objective-C

    - (void)unregisterForTelemetryNotification:
        (nonnull id<ESTTelemetryNotificationProtocol>)info;

    Swift

    func unregister(forTelemetryNotification info: ESTTelemetryNotificationProtocol)

    Parameters

    infos

    Single object conforming to ESTTelemetryNotificationProtocol.