Как вывести список всех устройств MFI в приложение для iOS?

Я хочу отобразить список всех устройств Apple, переданных MFI, которые ранее не были сопряжены с настройками iOS.

Я могу перечислить подключенные устройства, используя следующий код:

NSArray *accessories = [[EAAccessoryManager sharedAccessoryManager]

                               connectedAccessories];

Итак, мой запрос:

  1. Могу ли я сканировать все доступные несопряженные устройства MFI, используя структуру «Внешние аксессуары», в приложение iOS, а затем я могу подключить их из приложения iOS.

Пожалуйста, помогите мне закоротить это.

Заранее большое спасибо.....


person Nikh1414    schedule 18.12.2013    source источник


Ответы (1)


Да, ты можешь.

Начиная с iOS 6 EA Framework предоставляет встроенную функцию сопряжения Bluetooth в приложении.

Проверь это:

[[EAAccessoryManager sharedAccessoryManager] showBluetoothAccessoryPickerWithNameFilter:nil completion:^(NSError *error) {

}];

Вы также можете использовать параметры фильтра для фильтрации ваших устройств.

Но помните, если вы отправляете или получаете данные с устройства через MFI, вам может потребоваться добавить строку протокола в Info.plist в разделе «Поддерживаемые внешние дополнительные протоколы».

Редактировать:

Хорошо, я буду шаг за шагом перечислять мир MFI.

1. Что делает приведенный выше код?

Откроется небольшой tableView, чтобы показать все доступные устройства Bluetooth.

2. Как выполнить сопряжение?

Просто щелкните ячейку, показанную в таблице. Он автоматически подключится к устройству.

3. Как определить, сопряжено устройство или нет?

Проверьте следующий код. Вы должны понять, что это такое.

[[EAAccessoryManager sharedAccessoryManager] showBluetoothAccessoryPickerWithNameFilter:nil completion:^(NSError *error) {
        if (error) {
            NSLog(@"error :%@", error);
        }
        else{
            NSLog(@"You make it! Well done!!!");
        }
    }];

4.Уведомление подключить или отключить?

Проверьте следующие уведомления.

EAAccessoryDidConnectNotification
EAAccessoryDidDisconnectNotification

Есть много вещей, которые вы можете исследовать в MFI, поэтому лучше изучить документы Apple и примеры кода, чтобы понять это глубже.

person brianLikeApple    schedule 18.12.2013
comment
Спасибо, brianLikeApple, я использовал этот метод, но теперь мое приложение падает. Не могли бы вы объяснить это шаг за шагом, например: Какой код я должен написать в блоке завершения? Как будет отображаться список устройств? Как спарить устройство? Как я могу определить, что устройство успешно сопряжено? и если устройство отключено, как приложение уведомит меня, что устройство больше не подключено? Пожалуйста, помогите мне, я собираюсь принять ваш ответ.... - person Nikh1414; 18.12.2013
comment
Я реализовал этот метод, но он не отображает табличное представление на экране. Я поместил этот код в метод -()viewDidLoad. Итак, мне нужно что-то изменить в этом коде? - person Nikh1414; 18.12.2013
comment
Нет, вам не нужно. Вы добавили EA Framework в свой проект? А также импортировать заголовок .h? Или задержите вызов этих методов после viewDidView, используя: [NSTimer ScheduleTimerWithTimeInterval: 3.0 target: self selector: @ selector (showBTTalbe) userInfo: nil Repeats: NO]; - person brianLikeApple; 18.12.2013
comment
@ Nikh1414 Nikh1414 Я просто хочу изменить свои слова о том, что вы можете показывать только доступные устройства на столе, а не все. Спасибо. - person brianLikeApple; 18.12.2013
comment
Не работает в 2020/2021. - person Sakiboy; 27.05.2021