• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
Re: GATT cache clear
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: GATT cache clear


  • Subject: Re: GATT cache clear
  • From: Craig Dooley <email@hidden>
  • Date: Mon, 06 Feb 2017 11:15:30 -0800

It is correct behavior to send a service changed indication after reconnection if the services/characteristics have changed while disconnected.  Your device should send the indication as quickly as possible after a reconnection to prevent apps from receiving the cached service database.

- Craig

On Feb 6, 2017, at 10:56 AM, Nick Brook <email@hidden> wrote:

Ah, a bit more Googling and I think I have found the answer.

The answer is that the accessory needs to support the GATT Service Changed characteristic - please read the specification, specifically Vol 3, Part G, 2.5.2, and Vol 3, Part G, 7.1.

The spec says:

 If GATT based services on the server cannot be changed during the usable lifetime of the device, the Services Changed characteristic shall not exist on the server and the client does not need to ever perform service discovery after the initial service discovery for that server. 


My initial testing is showing that the presence of this characteristic is disabling the cache, however I’m hesitant to remove our ‘toggle bluetooth’ requirement unless I know for sure I won’t see problems with caching in the field. Could anyone confirm that the presence of this characteristic does in fact disable the attribute cache?

Thanks

Nick Brook

On 6 Feb 2017, at 18:38, Nick Brook <email@hidden> wrote:

Hi,

After completing an OTA firmware update to my device, the device restarts and iOS reconnects. If the GATT attributes change in the update, reconnection sometimes fails as iOS is using a cache of the attributes from before the update. Currently our solution is asking the user to turn Bluetooth off and on – not ideal.

Is there any way to force iOS to clear this cache? I can’t use the Service Changed characteristic (0x2a05) in the Generic Attribute Service (0x1801) as the service ‘changes' when the device is disconnected.

Thanks

Nick Brook
Do not post admin requests to the list. They will be ignored. Bluetooth-dev mailing list (email@hidden) Help/Unsubscribe/Update your Subscription: This email sent to email@hidden
  • Follow-Ups:
    • Re: GATT cache clear
      • From: Nick Brook <email@hidden>
References: 
 >GATT cache clear (From: Nick Brook <email@hidden>)
 >Re: GATT cache clear (From: Nick Brook <email@hidden>)

  • Prev by Date: Re: GATT cache clear
  • Next by Date: Re: GATT cache clear
  • Previous by thread: Re: GATT cache clear
  • Next by thread: Re: GATT cache clear
  • Index(es):
    • Date
    • Thread