This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

iOS nRFConnect issue with scanning

We use iOS nRF Connect primarily for DFU updates and find a real annoying issue with its behavior. We see this problem behavior on both v1.8.5 and v1.8.2, on both iPhone and iPad, running iOS 11.3 and 11.4.

The annoyance is that scanning runs for 2 1/2 minutes and cannot be stopped by pressing "Stop Scanning". In fact, it seems that the "Stop Scanning" press gets buffered until the current scan is completed and the button context changed to "Scan"; with the end result that pressing "Stop Scanning" causes a 5-minute scan. During the scanning process, the UI is completely unresponsive. There is a setting option to set the scan timeout, but it seems to have no effect at all.

I'm somewhat surprised no one else has complained about this behavior and wonder if it is due perhaps to the large number of BLE devices we have running in the office - a scan typically finds 40-50 devices.

The best resolution of this problem would be to make the 'Stop Scanning' button actually stop the scan.

If that is not possible on iOS, here are some suggestions that would reduce the annoyance:
1. Obey the scan timeout setting.
2. Allow a scan timeout shorter than 30 seconds. Most scans find the desired device within just a few seconds.
3. Don't automatically start scanning when app is launched. Allow us to set the timeout and filters without having to first wait 2 1/2 minutes for the initial scan to complete.

Richard

  • Hi Richard,

    I have not been able to reproduce this issue on my side. Everything you described seems to work as expected on my iPhone 7 with iOS 11.4 and nRF Connect 1.8.5. Which iPhone/iPad models have you used to test (not that it should matter)? Do you do anything else that could potentially trigger this issue?

  • Hi Richard

    Thanks for using nordic apps. 

    The default of scanning behavior is 30 sec, unless this have been changed in the setting page.

    To make it automatically scan is used to make it immediate response to nearby device. That is genuine of BLE scanning tool. 

    From your description, it seems a performance issue.

    Can you tell us which device you are using?

    And I also have a few suggestions:

    1. Follow the update of nRF Connect in app store.

    2. Installing on newest iOS device.

    3. Re open the app in a place with less BLE devices, to see if it works.

  • As I described in my original post, the problem behavior exists with both v1.8.5 and v1.8.2, on both iPhone (6) and iPad, running iOS 11.3 and 11.4

    I tried the app away from the office this weekend, with only one other BLE device in range and the app is responsive and behaves as expected.  The 'stop scanning' button works and the scanning timeout of 30 seconds is just that, 30 seconds.   

    Then this morning, I tried the app again in the office where there are 30-50 BLE devices in range and the app is unresponsive and the 30 second timeout takes over 2 minutes to timeout.

    So it seems the bad behavior is somehow related to the number of devices within range.

  • Which iPhone and iPad models have you tested with? Do you see the same behavior if you test in an area with fewer BLE devices in range?

  • Hi Richard,

    Thank you for updating with us.

    The performance on iOS device can be constrained by battery level, memory ram, apps running in background etc, and older iOS device can have lagging performance after upgrading to newer version of iOS.

    We have iPhone 6 and running in our test environment (around 20-30 devices), found no significant dropping of performance. 

    As reference, we also have newer model iPhone, X, 8,  7 have no issue on scanning performance.

    nRF Connect have great performance update after 1.8.3. Please make sure the app is updated.

Related