• 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: Save CBCharacteristic to NSUserDefaults
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Save CBCharacteristic to NSUserDefaults


  • Subject: Re: Save CBCharacteristic to NSUserDefaults
  • From: John Earl <email@hidden>
  • Date: Wed, 17 Apr 2013 08:48:39 +0100

Etan,

This discussion seems to imply that discovered services and characteristics can be cached across disconnect/reconnect pairs if the application runs continuously in the background, so long as CBCentralManager does not power down.

Have you tried this and/or do you use this functionality yourself?

John

On 17 Apr 2013, at 08:14, Etan Kissling wrote:

Jack,

In the mentioned session they explained that characteristics are only cached when encryption is on. I haven't tested whether this is true, but may be worth trying.

To speed up characteristic discovery, consider lowering the connection interval for the first 30 seconds or so from your peripheral. You can do this by sending a connection parameter update request. 

Also ensure that all your services with 16-bit uuids are grouped at the beginning of your peripheral gatt database. This allows to read up to four 16-bit uuid services at a time with the default MTU of 23 bytes.

Regarding serialization of cb* objects: it's not possible with public apis and even if you could serialize them for nsuserdefaults storage, you would still run into problems as the documentation clearly states that all peripherals etc are invalidated when the cbcentralmanager state falls below a certain level. When you create a new manager, state defaults to "unknown" which is the lowest level ;-)

Cheers
Etan

On 17.04.2013, at 08:34, "Jack Phan" <email@hidden> wrote:

Thank you very much for all your comments.

Jack

On Apr 16, 2013, at 11:28 PM, Andras Kovi <email@hidden> wrote:

Well, if you retrieve or discover a peripheral, then its services will be nil. Those are read only from our perspective so there is not even a theoretical way to save and then restore the characteristics. Maybe they come up with some caching this year (WWDC 2013 hasn't happened yet to my best knowledge :) ) but I doubt that as that would introduce a whole bunch of issues. Rediscovery is not a big deal, you just have to plan for it.

Cheers,
Andras

On 2013.04.17., at 8:09, Jack Phan <email@hidden> wrote:


I may be wrong but I remember that in Advanced Core Bluetooth session from this years WWDC, they said we could catch the characteristics.

Jack


On Apr 16, 2013, at 11:06 PM, Andras Kovi <email@hidden> wrote:

Yes, Khaos is right. You cannot save neither the characteristics or the services. They must be rediscovered every time.

Andras

On 2013.04.17., at 7:44, Khaos Tian <email@hidden> wrote:

It seems you had to re-discover characteristics every time you established a new connection.

Here are threads that discussed this problem previously.

http://prod.lists.apple.com/archives/bluetooth-dev/2013/Mar/msg00032.html

Best Wishes,
Khaos Tian

On Apr 17, 2013, at 1:25 PM, Jack Phan <email@hidden> wrote:

The reason is that I don't want to scan again. I would like to reconnect but don't want to discover characteristics again because it takes too long.
So when the user opens the app, I reconnect, no discover characteristics, but send characteristic values that I had saved to Peripheral. 

Jack

On Apr 16, 2013, at 10:14 PM, Khaos Tian <email@hidden> wrote:

sorry for the typo.

I mean why don't you perform a discover characteristics action and then use that CBCharacteristic to perform action you want?

Best Wishes,
Khaos Tian

On Apr 17, 2013, at 1:06 PM, Jack Phan <email@hidden> wrote:


Hi Khaos,

Yes. I would like to save CBCharacteristic *myChar into NSUserDefauts and then load it when user open the app.
Thanks,

Jack


On Apr 16, 2013, at 10:02 PM, Khaos Tian <email@hidden> wrote:

May I ask why would you like to say CBCharacteristic into NSUserDefaults?

Best Wishes,
Khaos Tian

On Apr 17, 2013, at 12:56 PM, Jack Phan <email@hidden> wrote:

Hi Group,

I'm working on a project for iPhone (Central) with TI CC2541 (Peripheral) and would like to save a CBCharacteristic *myChar to NSUserDefaults but I don't know how.
Please give me a way to solve this. It's great if you could share your code for it.

Thanks a lot,

Jack
_______________________________________________
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





_______________________________________________
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




_______________________________________________
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
 _______________________________________________
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: Save CBCharacteristic to NSUserDefaults
      • From: Etan Kissling <email@hidden>
References: 
 >Save CBCharacteristic to NSUserDefaults (From: Jack Phan <email@hidden>)
 >Re: Save CBCharacteristic to NSUserDefaults (From: Khaos Tian <email@hidden>)
 >Re: Save CBCharacteristic to NSUserDefaults (From: Jack Phan <email@hidden>)
 >Re: Save CBCharacteristic to NSUserDefaults (From: Khaos Tian <email@hidden>)
 >Re: Save CBCharacteristic to NSUserDefaults (From: Jack Phan <email@hidden>)
 >Re: Save CBCharacteristic to NSUserDefaults (From: Khaos Tian <email@hidden>)
 >Re: Save CBCharacteristic to NSUserDefaults (From: Andras Kovi <email@hidden>)
 >Re: Save CBCharacteristic to NSUserDefaults (From: Jack Phan <email@hidden>)
 >Re: Save CBCharacteristic to NSUserDefaults (From: Andras Kovi <email@hidden>)
 >Re: Save CBCharacteristic to NSUserDefaults (From: Jack Phan <email@hidden>)
 >Re: Save CBCharacteristic to NSUserDefaults (From: Etan Kissling <email@hidden>)

  • Prev by Date: Re: Save CBCharacteristic to NSUserDefaults
  • Next by Date: Re: Save CBCharacteristic to NSUserDefaults
  • Previous by thread: Re: Save CBCharacteristic to NSUserDefaults
  • Next by thread: Re: Save CBCharacteristic to NSUserDefaults
  • Index(es):
    • Date
    • Thread