Я добавил ключ Info.plist для фильтрации bluetoothServiceUUID, например, и мой дескриптор определяется следующим образом:< /p>
`ASDiscoveryDescriptor *descriptor1 = [[ASDiscoveryDescriptor alloc] init];
descriptor1.bluetoothServiceUUID = [CBUUID UUIDWithString:serviceUUID]; // Заменяем актуальным UUID
Код: Выделить всё
ASPickerDisplayItem *item1 = [[ASPickerDisplayItem alloc] initWithName:@"Item 1"
productImage:[UIImage systemImageNamed:@"person"]
descriptor:descriptor1];
Код: Выделить всё
if (error) {
NSLog(@"Failed to show picker: %@", error.localizedDescription);
}
Выборщик не сможет найти устройство, если оно не было сопряжено вне приложения (сопряжено с другим приложением, например " BLE Scanner»).
Мое устройство Bluetooth НЕ рекламирует UUID своего сервиса в разделе рекламы при сканировании устройства. Я нашел UUID в разделе «Службы» и выбрал доступный собственный UUID службы.
Я попробовал на устройстве, которое напрямую рекламирует свои UUID службы в разделе рекламы, и оно работает отлично без предварительного сопряжения вне приложения. .
Подробнее здесь: https://stackoverflow.com/questions/793 ... ed-in-sett
Мобильная версия