I'm trying to write an iOS app that scans for a specific UUID being advertised
e.g.
NSDictionary* options = [[NSDictionary alloc] initWithObjectsAndKeys:[NSNumber numberWithBool:YES], CBCentralManagerScanOptionAllowDuplicatesKey, nil];
CBUUID *hrmUUID = [CBUUID UUIDWithString:@"F5FF81D0-A7EE-367A-1583-B0A44AA94B23"];
CBUUID *watchUUID = [CBUUID UUIDWithString:@"0CC23A32-D8E2-BFFD-093B-B91BCB35E12C"];
[self.centralManager scanForPeripheralsWithServices:[NSArray arrayWithObjects:hrmUUID,watchUUID,nil] options:options];
However this does not work for the HRM (hrs) example, or the beacon example.
The UUID's I'm using were taken from the UUID's that the callback from scanning with nil passed as the UUID array (hence it finds all UUIDS)
I've checked these iDS in other programs like LightBlue etc on the iPad and the UUIDs are correct.
Both the HRM and the Smart Watch, both have services and are connectable. The Nordic toolbox finds and connects to the HRM
The Smartwatch's proprietary app will connect to it
So at the moment I'm stumpted about what I need to pass to the UUID array or what additional advertising data that the HRM etc need to send, for IOS to be able to scan for them.
I did take a look at the Nordic toolbox, but strangely the UUID is defined as 00001809-0000-1000-8000-00805F9B34FB
But this is not the value reported by iOS and also if I try using that value, it still doesn't work
I also tried searching for just one UUID
[self.centralManager scanForPeripheralsWithServices:[NSArray arrayWithObject:hrmUUID] options:nil];
But that didn't work either ;-(