Example Indoor location does not work

Hi There,

The Indoor App from iTunes works but the example on github does not.
Neither the didUpdate location or didFailToUpdatePositionWithError is called.
I am sat in the middle of my 6 beacons.

I have substituted my own app id and code.
iPhone 6 - iOS 9.3.1

Any idea what could be wrong?

Thanks,

Al

Thanks for the report! We took a look and it helped us discover a bug in the SDK. Already working on fixing that, and in the meantime, moving this line:

self.locationManager.startPositionUpdatesForLocation(self.location)

from viewDidLoad to viewDidAppear should serve as a workaround.

What use case do you have in mind for Indoor Location? :slight_smile:

Thanks for the update.

I’m looking at using indoor location for an Art Gallery app. As well as the usual nearby items were trying to do location based games. At this stage we’re evaluating how good the API is so we can tune the activities.

Hi Piotr,

I’m back in the gallery and still having no luck with indoor location.
The location fetch location has worked but after calling startPositionUpdatesForLocation in viewDidAppear I’m not getting any callbacks or errors.

I have updated the Estimote SDK’s (pod update).
I checked the Github repository but the example hasn’t changed. I’ve downloaded it anyway and used my app id and location id.

iPhone 6s
iOS: 9.3.2
Indoor Location API: 2.2.1
Estimote SDK: 4.4.0

UPDATE
I found a post where someone else turned Bluetooth on and off. I tried it and the app started working.
If you turn Bluetooth on and off then it starts working. Note that this only works once and you have to power cycle each time you start the app.

So you probably have some logic in your central manager to start updates…
Guess: You probably are not calling scanForPeripheralsWithServices to start Bluetooth.

Thanks,

Al

Oh wow, that’s weird. Haven’t seen anything like that before. We’ll dig into it. (Can you private-message me the identifier/name of your location? I wonder if it’s something unusual about its setup that contributes to the problem.)

Morning. Just wondered if there has been any update on the issue?

I’m starting to get very close to my completion dates and the indoor location API is still not working for me unless I power cycle the Bluetooth. I’m going to have to drop the indoor mapping feature if I can’t get it working reliably in the next few weeks.

Thanks,

Al

Just wondered if there was any update on the Bluetooth issue I’m having with Indoor location?

I’m almost ready to go with my custom floor plans and the missing piece is the location dot.

We can’t reproduce this for the life of us ):

I just gave it another go, took the IndoorMap example from the Indoor SDK repo, put my own app ID & token & location identifier, run the app, and … works like a charm.

Could you try running pod update, to test with the latest Estimote SDK? I used 4.7.2 in my test:

Piotr at Piotrs-MacBook in ~/Code/estimote/indoor/Examples/IndoorMap on master
$ pod update 
Update all pods
Updating local specs repositories

CocoaPods 1.1.0.beta.1 is available.
To update use: `gem install cocoapods --pre`
[!] This is a test version we'd love you to try.

For more information, see https://blog.cocoapods.org and the CHANGELOG for this version at https://github.com/CocoaPods/CocoaPods/releases/tag/1.1.0.beta.1

Analyzing dependencies
Downloading dependencies
Using EstimoteIndoorSDK (2.2.1)
Installing EstimoteSDK 4.7.2 (was 4.5.0)
Generating Pods project
Integrating client project
Sending stats
Pod installation complete! There is 1 dependency from the Podfile and 2 total pods installed.

Was testing on iPhone 6 Plus, iOS 9.3.3.

Thanks for your help and support. I’ll update my pods and try again tonight.

Question: How long do you need to wait in order for the example app to
initially show a position?

Regards,

Al

A few seconds at most, and then it may take additional time to narrow down the position (as indicated by the “accuracy” parameter, it might start with something like “very low”, but then start moving towards “very high” as the Indoor SDK gathers more data).

Thanks for the info. very useful to know.

I’m going to try some other devices (iPad Air2, Different iPhone 6 and iPod touch 2015) tonight as well just in case.

I have an answer about what’s different.
The app worked first time on an iPad Air2, iPhone 6 (not paired to an Apple watch) and iPod touch.

I think the issue is my phone which is an iPhone 6, specifically it is paired to my Apple watch.

Are you able to test scenario on a device paired to a watch? Again if I cycle the Bluetooth power the app works…

Thanks,

Al

Oh wow, good catch! Let my Apple Watch at home today, gonna to test that when I’m home later!

Hi All,

Having the same problem here that was mentioned above - i have to turn the bluetooth off and on again via the iOS Control Centre, and then the beacons seem to connect. Then, once i move i get the locationManager updates.

Without bluetooth off and on again I get very inconsistent connection times, if at all due to giving up.

I’m on iOS 10, and using v2.2.1 of Estimate Indoor SDK and v4.8.1 of Estimate SDK. Not connected to an apple watch either :frowning:

Any ideas?

Thanks
Chris

Also noticing that older devices such as iPhone 5 connect much much quicker than the iPhone 6.

Further investigation looks like it works on the older phones with bluetooth 4.0 (iPhone 6 and lower).
iPhone 6S and above that have bluetooth 4.2 seem to have issues.

Does the API support Bluetooth 4.2?