Can't connect to a beacon via Estimote SDK's ESTBeaconConnection


I am having trouble using the Estimote SDK to connect directly to a beacon so that I can use the ESTBeaconConnection class to change the beacons settings within my own app. Here are the steps I am using to attempt this:

  1. Call [ESTConfig setupAppID:andAppToken:] with correct credentials from the APP that owns the beacon. Have confirmed that credentials are setup correctly by checking [ESTConfig appID],****[ESTConfig appToken],[ESTConfig isAuthorized] as well.

  2. Used ESTBeaconConnection’s init methods to initialize the ESTBeaconConnection object (stored as instance variable in my view controller with strong reference). Have tried multiple initialization methods such as with initWithBeacon, initWithProximityUUID:major:minor, and initWithIdentifier with delegate set to self. Have tried both setting startImmediately to YES and also calling separate start connection methods.

  3. Implemented the ESTBeaconConnectionDelegate methods beaconConnectionDidSucceed, beaconConnection:didFailWithError, and beaconConnection:didVerifyWithData.

  4. didVerifyWithData is called but does not return an error. didFailWithError is also called. Printing the error return with didFailWithError to console yields the following message:
    “Error Domain=EstimoteDomain Code=402 “Device scanning timeout” UserInfo={NSLocalizedDescription=Device scanning timeout}”

I believe am doing all the required steps to actually connect to a beacon. I’m not sure where the error is.

As far as hardware goes, I am using Estimote beacons with the latest firmware (OS4.6.1) that are all claimed under my account. The iOS version I am testing it on is iOS 9.3.2 and the official Estimote app can connect to my beacons. Bluetooth is turned on for my device.

In SDK 4.x, we changed the API to connect to beacons w/ firmware 4.x: