Средство выбора AccessorySetupKit не отображает аксессуар, если он предварительно не был сопряжен в приложении «НастройкIOS

Программируем под IOS
Anonymous
Средство выбора AccessorySetupKit не отображает аксессуар, если он предварительно не был сопряжен в приложении «Настройк

Сообщение Anonymous »

Я использую AccessorySetupKit для обнаружения устройства Bluetooth и подключения к нему через соединение BLE.
Я добавил ключ 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];
[self.session showPickerForDisplayItems:@[item1] завершениеHandler:^(NSError * _Nullable error) {

Код: Выделить всё

if (error) {
NSLog(@"Failed to show picker: %@", error.localizedDescription);
}
}];`
Выборщик не сможет найти устройство, если оно не было сопряжено вне приложения (сопряжено с другим приложением, например " BLE Scanner»).
Мое устройство Bluetooth НЕ рекламирует UUID своего сервиса в разделе рекламы при сканировании устройства. Я нашел UUID в разделе «Службы» и выбрал доступный собственный UUID службы.
Я попробовал на устройстве, которое напрямую рекламирует свои UUID службы в разделе рекламы, и оно работает отлично без предварительного сопряжения вне приложения. .

Подробнее здесь: https://stackoverflow.com/questions/793 ... ed-in-sett

Вернуться в «IOS»