Uploaded image for project: 'Qt'
  1. Qt
  2. QTBUG-67042

Provide means for iOS app (central role) to scan and conect to peripherals in background

XMLWordPrintable

    • Icon: User Story User Story
    • Resolution: Unresolved
    • Icon: P2: Important P2: Important
    • None
    • 5.11.0 Alpha
    • None
    • iOS/tvOS/watchOS

      iOS apps running in the background experience limitations with regards to available functionality.

      As long as the background app is connected to a peripheral it can continue to read characteristics and receives notifications. However when the peripheral moves out of reach, the app must change to scanning mode and re-establish the connection to the peripheral. Scanning for peripherals can be done via iOS in two ways:

      • General service scan for any service uuid
      • Targeted scans which require the user to specifiy the uuid of the to-be-found service

      QtBluetooth currently employs the first option. The second option is not used. According to the official documentation (and confirmed by testing) the general scanning mode does not work in the background.

      QLowEnergyController requires public API to permit the user to set the service uuid for which to scan while in the background.

      An example of such a use case is an app that connects to BTLE peripherals while at home and reconnects to the home device when the user returns home after having left for a certain amount of time.

       

      This problem is highlighted by https://medium.com/arkulpa/ios-stay-connected-to-an-external-ble-device-as-much-as-possible-699d434846d2

        For Gerrit Dashboard: QTBUG-67042
        # Subject Branch Project Status CR V

            tpochep Timur Pocheptsov
            ablasche Alex Blasche
            Harald Kjølberg Harald Kjølberg (Inactive)
            Alex Blasche Alex Blasche
            Votes:
            2 Vote for this issue
            Watchers:
            6 Start watching this issue

              Created:
              Updated:

                There is 1 open Gerrit change