ESBeaconUpdateConfig Class Reference
+Inherits from | +NSObject | +
Conforms to | +NSCoding NSCopying |
+
Declared in | +ESBeaconUpdateConfig.h ESBeaconUpdateConfig.m |
+
diff --git a/CHANGELOG.md b/CHANGELOG.md index 12d56dcbc..72b09a5a2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,11 @@ +## 2.2.0 (November 19, 2014) + +Features: +- Secure UUID rotation added to prevent from hijacking beacons +- Bulk update +- Estimote Analytics +- 8x faster firmware update + ## 2.1.5 (September 26, 2014) Bugfixes: diff --git a/Documents/Classes/ESBeaconUpdateConfig.html b/Documents/Classes/ESBeaconUpdateConfig.html new file mode 100644 index 000000000..c65ce637d --- /dev/null +++ b/Documents/Classes/ESBeaconUpdateConfig.html @@ -0,0 +1,342 @@ + + +
+ +Inherits from | +NSObject | +
Conforms to | +NSCoding NSCopying |
+
Declared in | +ESBeaconUpdateConfig.h ESBeaconUpdateConfig.m |
+
Inherits from | +NSObject | +
Conforms to | +NSCoding | +
Declared in | +ESBeaconUpdateInfo.h ESBeaconUpdateInfo.m |
+
The ESBeaconUpdateInfo
class represents all required data for single Estimote beacon bulk update operation. It should be intialized by particular ESTBeacon
that should be updated and ESBeaconUpdateConfig
config object that describes how update is going to be performed.
beacon
+
+ property
+
+ UUID
+
+ property
+
+ major
+
+ property
+
+ minor
+
+ property
+
+ macAddress
+
+ property
+
+ peripheralID
+
+ property
+
+ config
+
+ property
+
+ delegate
+
+ property
+
+ status
+
+ property
+
+ error
+
+ property
+
+– initWithBeacon:config:
+
+
+
+– findPeripheral
+
+
+
+– updateWithConfig:
+
+
+
+– description
+
+
+
+Proximity UUID of the beacon device that should be updated.
+@property (nonatomic, strong) NSUUID *UUID
ESBeaconUpdateInfo.h
Beacon about which this info is for.
+@property (nonatomic, strong) ESTBeacon *beacon
ESBeaconUpdateInfo.h
Configuration based on which update should be performed.
+@property (nonatomic, strong) ESBeaconUpdateConfig *config
ESBeaconUpdateInfo.h
Delegate object described with ESBeaconUpdateInfoDelegate
protocol.
@property (nonatomic, assign) id<ESBeaconUpdateInfoDelegate> delegate
ESBeaconUpdateInfo.h
Error object if beacon failed to update.
+@property (nonatomic, strong) NSError *error
ESBeaconUpdateInfo.h
Mac address of the beacon device.
+@property (nonatomic, strong) NSString *macAddress
ESBeaconUpdateInfo.h
Major of the beacon device that should be updated.
+@property (nonatomic, strong) NSNumber *major
ESBeaconUpdateInfo.h
Minor of the beacon device that should be updated.
+@property (nonatomic, strong) NSNumber *minor
ESBeaconUpdateInfo.h
Custom description method of Beacon update information.
+- (NSString *)description
description string
+ESBeaconUpdateInfo.h
Scans for peripheral related with the beacon.
+- (void)findPeripheral
ESBeaconUpdateInfo.h
Initialize object with beacon that is going to be updated and proper +config file containing description how update should be performed.
+- (instancetype)initWithBeacon:(ESTBeacon *)beacon config:(ESBeaconUpdateConfig *)config
beacon object
config description for update
initialized instance of this class
+ESBeaconUpdateInfo.h
Allows to update config for the related beacon. Overrides previous +Power and Adv interval values.
+- (void)updateWithConfig:(ESBeaconUpdateConfig *)config
new config object
ESBeaconUpdateInfo.h
Inherits from | +NSObject | +
Declared in | +ESBulkUpdater.h ESBulkUpdater.m |
+
Main class of the bulk updater that performs all update operations
+ handled by objects of ESBulkUpdaterSingleOperation
class. Updates are performed
+ in the concurent queue and can work both in foreground and background.
+
+ To star bulk update you need to prepare array of ESBeaconUpdateInfo
objects containg beacons
+ and update configuration. Then just invoke startWithBeaconInfos:timeout:
method of this class
+ to start update procedure. This class defines notifications that can be used to get progress
+ of update procedure state.
beaconInfos
+
+ property
+
+ mode
+
+ property
+
+ status
+
+ property
+
++ sharedInstance
+
+
+
+– startWithBeaconInfos:timeout:
+
+
+
+– isUpdateInProgressForBeacon:
+
+
+
+– isBeaconWaitingForUpdate:
+
+
+
+– getBeaconUpdateInfosForBeacon:
+
+
+
+– getTimeLeftToTimeout
+
+
+
+– cancel
+
+
+
+Array with information about beacons update status. Contains objects of ESBeaconUpdateInfo.
+@property (nonatomic, strong) NSArray *beaconInfos
ESBulkUpdater.h
Cancels update process. Note that currently updating beacon will finish.
+- (void)cancel
ESBulkUpdater.h
Get all possible infos for particular beacon
+- (NSArray *)getBeaconUpdateInfosForBeacon:(ESTBeacon *)beacon
ESBulkUpdater.h
Returns time left to bulk update timeout
+- (NSTimeInterval)getTimeLeftToTimeout
ESBulkUpdater.h
Verify if beacon is currently waiting for update
+- (BOOL)isBeaconWaitingForUpdate:(ESTBeacon *)beacon
ESBulkUpdater.h
Verify if beacon is currently in update process
+- (BOOL)isUpdateInProgressForBeacon:(ESTBeacon *)beacon
ESBulkUpdater.h
Starts update process for given beacons and updates them accordingly to given config.
+- (void)startWithBeaconInfos:(NSArray *)beacons timeout:(NSTimeInterval)timeout
Array with beacons to update.
Timeout for bulk update operation in seconds. 0 means no timeout.
ESBulkUpdater.h
Inherits from | +ESConcurrentOperation | +
Declared in | +ESBulkUpdaterSingleOperation.h ESBulkUpdaterSingleOperation.m |
+
Operation that updates single beacon. It is intended to be executed on NSOperationQueue
. If you want to executed it manually, read “Executing Operations Manually” chapter from Apple’s Concurrency Programming Guide.
Flow of execution: +- connects to a beacon +- updates beacon’s properties as defined in given config object +- disconnects from a beacon
+ +In order to get notified when operation finishes, set completionBlock on it.
+Initialize object with ESBeaconUpdateInfo
that describe all the details
+for update procedure including beacon and config.
- (instancetype)initWithBeaconInfo:(ESBeaconUpdateInfo *)beacon
Beacon information
instance of operation object
+ESBulkUpdaterSingleOperation.h
Method used to perform opeartion outside of operation queue
+- (void)startOperation
completion block containing reference to operation (self)
ESBulkUpdaterSingleOperation.h
isSecured
+
+ property
+
isAccelerometerAvailable
@@ -569,6 +594,12 @@ estimoteSecureUUID
+
+ property
+
– enableEstimoteSecureUUID:completion:
+
+
+
– valueObject
+
+
+
ESTBeacon.h
A flag indicating status of Estimote Secure UUID.
+@property (readonly, nonatomic) ESTBeaconEstimoteSecureUUID estimoteSecureUUID
Estimote OS 2.2
+
ESTBeacon.h
ESTBeacon.h
A flag indicating if the beacon has UUID rotation turned on.
+@property (readonly, nonatomic) BOOL isSecured
Estimote OS A2.2
+ESTBeacon.h
When ranging beacons - if the beacon is in motion, the proximityUUID
property will be equal to the motionProximityUUID
. Note that the motionProximityUUID
property is not available unless connected to the beacon, so you need to know its value in advance.
When monitoring regions - you can have two separate regions, one with the regular proximityUUID
and one with the motionProximityUUID
. Enter and exit notifications will then correspond to the beacon starting and stopping to move.
Warning: This feature is disabled by default. The option to enable it will be made available in an upcoming update to the SDK.
ESTBeacon.h
Enables Estimote Secure UUID.
+- (void)enableEstimoteSecureUUID:(BOOL)enable completion:(ESTBoolCompletionBlock)completion
Yes to enable, No to disable Estimote Secure UUID.
Block with operation result.
ESTBeacon.h
ESTBeacon.h
Returns ESTBeaconVO
object from ESTBeacon
, so it would be easier to compare beacons with already fetched from the cloud.
- (ESTBeaconVO *)valueObject
ESTBeacon.h
Warning: The motionProximityUUID
feature is disabled by default. The option to enable it will be made available in an upcoming update to the SDK.