Re: Retrieving peripherals
Re: Retrieving peripherals
- Subject: Re: Retrieving peripherals
- From: Christopher Cotton <email@hidden>
- Date: Wed, 02 Jul 2014 20:15:05 -0500
The older deprecated version of the method you are using.
retrievePeripherals:
Retrieves a list of known peripherals by their UUIDs. (Deprecated in
iOS 7.0. Use the retrievePeripheralsWithIdentifiers: method instead.)
- (void)retrievePeripherals:(NSArray *)peripheralUUIDs
Parameters
peripheralUUIDs
An array of CFUUIDRef objects from which CBPeripheral objects can be
retrieved. Because CBUUID objects represent Bluetooth-specific
universally unique identifiers (UUIDs) (used for Bluetooth GATT
attributes such as services and characteristics), CBPeripheral objects
use standard CFUUIDRefUUIDs as their unique identifiers.
Discussion
This method retrieves a list of peripherals that the central manager
is able to match to the provided UUIDs. Upon retrieving the list of
known peripherals, the central manager object calls the
centralManager:didRetrievePeripherals: method of its delegate object.
If no matches are made, the central manager object passes an empty
array of peripherals to the centralManager:didRetrievePeripherals:
method.
On Wed, Jul 2, 2014 at 7:22 PM, Rick Mann <email@hidden> wrote:
> So, I just noticed that it returns an array, and my peripheral is in there. But then what is -centralManager:didRetrievePeripherals: for?
>
> On Jul 2, 2014, at 16:46 , Jason Conn <email@hidden> wrote:
>
>> - [CBCentralManager retrievePeripheralsWithIdentifiers:] is a synchronous method.
>>
>> On Jul 2, 2014, at 4:21 PM, Rick Mann <email@hidden> wrote:
>>
>>> I'm remembering the last-connected peripheral by storing the identifier in NSUserDefaults, then trying to retrieve that peripheral on the next launch.
>>>
>>> Store:
>>>
>>> NSString* uuid = self.peripheral.identifier.UUIDString;
>>> // Store uuid in NSUserDefaults
>>>
>>> Retrieve:
>>>
>>> NSUUID* uuid = [[NSUUID alloc] initWithUUIDString: inPeripheralIdentifier];
>>> [self.cm retrievePeripheralsWithIdentifiers: @[ uuid ]];
>>>
>>> But -centralManager:didRetrievePeripherals: is never called (at all, even with an error).
>>>
>>> Am I doing something wrong? Thanks!
>>>
>>> --
>>> Rick
>>>
>>>
>>>
>>>
>>> _______________________________________________
>>> 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
>
>
> --
> Rick
>
>
>
>
> _______________________________________________
> 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