1 Reply
      Latest reply on Dec 4, 2019 10:57 AM by goblets
      Sappharad Level 1 Level 1 (0 points)

        The WWDC 2019 session on Core Bluetooth discusses the new privacy changes for iOS 13 starting around 19 minutes in:



        Changes mentioned:

        1. User consent is now required for bluetooth, including legacy applications built on older SDKs which automatically will be prompted.

        2. User consent is now required for devices that receive ANCS notifications.


        For #1, the session expliclty mentions legacy applications being prompted - this definitely works in the current beta and I've gotten prompts for 3rd party party apps installed on my device which continue to work.


        I'm specifically wondering how #2 is supposed to apply to legacy applications built against older SDKs. In testing against the current beta, I'm getting the ANCS prompt and "Share System Notifications" appears for BTLE devices that do that. But system notifications aren't coming through to the device where the option is enabled. Based on the SDK changes and the session content, it looks to me like the only API changes involve checking for ANCS permission and prompting the user for it. I don't get the impression from the changes that legacy apps should stop sending BTLE device notifications because it looks to me like the new changes inside apps are just best practices rather than a strict requirement. Additionally, there are no known issues listed for Core Bluetooth or ANCS in the Beta 2 release notes.


        Are legacy devices & apps intended to work as-is with ANCS notifications in iOS 13 prior to being updated against the latest SDK?


        I just want to clarify the intended behavior before I go through the steps necessary to file a report for it if it's broken.


        Thanks in advance!

        • Re: Need clarification on Core Bluetooth ANCS update
          goblets Level 1 Level 1 (0 points)

          It seems its required to add options to the connect command


          [self.cm connectPeripheral:peripheral

                                     options:@{ CBConnectPeripheralOptionRequiresANCS:@(YES)}];


          This got me the "Share System Notifications" option in the bluetooth menu but did not make ANCS work for me.