• 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: How to get the updated advertisementData (kCBAdvDataManufacturerData) value?
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: How to get the updated advertisementData (kCBAdvDataManufacturerData) value?


  • Subject: Re: How to get the updated advertisementData (kCBAdvDataManufacturerData) value?
  • From: David Chu <email@hidden>
  • Date: Fri, 16 Jan 2015 19:09:32 +0800

Hey Hank,

I believe this is the problem.

CoreBluetooth only discovers a device once and then caches the data to save energy. In order to keep getting the updated data you would need to do one of two things.

- Connect to the device and then ask for an update of the advertising data.
It seems this is what you are avoiding.

- Stop stop and restart your scan. (perhaps on a time delay? I have never stopped and restarted a scan right after each other. But I can confirm that restarting the scan will make the device discoverable again).

Dave


On Jan 16, 2015, at 10:52 AM, Hank Li <email@hidden> wrote:

The peripheral is saved. the issue is that when the advertisement data is changed on the device, the ios app could not get the updated value. It seems the ios cached the advertisementdata.


Thanks,
Hank Li



On Thu, Jan 15, 2015 at 5:05 PM, Christopher Cotton <email@hidden> wrote:
We use changing advertisement data just fine in our iOS app. Are you
keeping a reference to the peripheral that is given to you? you should
get a ton of logs. You need to keep a reference otherwise it discards
that peripheral as per the docs in the header:


     *  @discussion                 This method is invoked while
scanning, upon the discovery of <i>peripheral</i> by <i>central</i>. A
discovered peripheral must

     *                              be retained in order to use it;
otherwise, it is assumed to not be of interest and will be cleaned up
by the central manager.




On Thu, Jan 15, 2015 at 6:33 PM, Hank Li <email@hidden> wrote:
> For my IOS app (on ios8), once it get the advertisementData, it will stay
> the same, even the data has been changed on the BLE device. How can I get
> the updated advertisementData in my ios app?
>
> Here is the code, the startScan is called every 5 seconds.
>
> func startScan() {
> let opts = [CBCentralManagerScanOptionAllowDuplicatesKey:true];
> centralManager.scanForPeripheralsWithServices(nil, options:opts);
> }
>
> func centralManager(central: CBCentralManager!, didDiscoverPeripheral
> peripheral: CBPeripheral!, advertisementData: [NSObject : AnyObject]!, RSSI:
> NSNumber!) {
>         println("\(advertisementData)");
> }
>
> Here is the output,
>  [kCBAdvDataLocalName: MyDevice001, kCBAdvDataIsConnectable: 1,
> kCBAdvDataManufacturerData: <11e467f7 7ec2ed>]
>
> the output will never change. how to get the updated advertisementData
> value?
>
> Thanks,
> Hank Li
>
>
>
>  _______________________________________________
> 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



--
Christopher

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: How to get the updated advertisementData (kCBAdvDataManufacturerData) value?
      • From: Zach Dennis <email@hidden>
References: 
 >How to get the updated advertisementData (kCBAdvDataManufacturerData) value? (From: Hank Li <email@hidden>)
 >Re: How to get the updated advertisementData (kCBAdvDataManufacturerData) value? (From: Christopher Cotton <email@hidden>)
 >Re: How to get the updated advertisementData (kCBAdvDataManufacturerData) value? (From: Hank Li <email@hidden>)

  • Prev by Date: Re: finding documents for normal bluetooth device communication
  • Next by Date: Re: How to get the updated advertisementData (kCBAdvDataManufacturerData) value?
  • Previous by thread: Re: How to get the updated advertisementData (kCBAdvDataManufacturerData) value?
  • Next by thread: Re: How to get the updated advertisementData (kCBAdvDataManufacturerData) value?
  • Index(es):
    • Date
    • Thread