This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

CC2541 Direct advertisement with iOS

As I understand for direct advertisement, filtering or whitelist you need to know address for connection?

I need to connect to defined device with iOS but not to another devices. The problem is that iOS changing the address when you turn off and on again bluetooth. Of cause connection can be rejected, but it consumes power.

Any ideas how to workaround this problem? Thanks.

  • If I understand correctly, when your BLE device connects to an iOS device, the BLE device address is getting changed.

    This is permitted by the Bluetooth spec. when your device supports multiple bonds, as indicated by the peripheral privacy flag in the GAP service of the BLE device. If you don't need your peripheral to bond with multiple devices, then set your peripheral privacy flag to 0 to prevent iOS from writing the reconnection address.

    Otherwise, I am afraid I don't know how to solve your issue. 

  • No, when my BLE device just connects to iOS everything fine, address changes on iOS device when it reboots or turn off and on bluetooth.

    The point is do not connect to all devices, only to some. But if we advertising undirected everyone can connect. Bound manager it another thing, it's bound devices after connection. The problem is we need a static address for directed advertisement (as I understand), but iOS can change address.

  • Hey Dimitri,
    I am going through a similar problem, I am designing a peripheral device and trying to authorize users based on their identity info, but like you said this data is dynamic. I was wondering if you were able to solve this issue? If so, what was your solution?
    Thanks,
  • While scanning central device can read scan response packets from peripherals, thereby it can make a decision based on packet data connect to that device or not. You just need to put some marker into scan response packet during first connection.

  • Hi,


    Please refer to this thread for connecting with bonded iOS devices that use Private Resolvable Addresses:

    Searching the forum for "iOS whitelist" will also yield other posts on this topic.

    Best wishes