EAAcessory MFi-соединение с протоколом issc datapath - EASession не может инициировать

У меня есть устройство Bluetooth, которое я могу найти в своих аксессуарах с протоколом "com.issc.datapath" и названием "Чат". (Я использую iOS 7.1)

Я попробовал приложение ISSC BT Chatboard, которое отлично работает с моим устройством Bluetooth, но я не могу получить действительный сеанс. (И я не могу найти источник или учебник об этом приложении ISSC BT)

В моем коде я установил EAAccessoryController, который возвращает устройство, упомянутое выше. Затем я пытаюсь открыть сессию, как указано в документации:

- (BOOL)openSession
{
    [_accessory setDelegate:self];
    _session = [[EASession alloc] initWithAccessory:_accessory forProtocol:_protocolString];

    if (_session)
    {
        [[_session inputStream] setDelegate:self];
        [[_session inputStream] scheduleInRunLoop:[NSRunLoop currentRunLoop] forMode:NSDefaultRunLoopMode];
        [[_session inputStream] open];

        [[_session outputStream] setDelegate:self];
        [[_session outputStream] scheduleInRunLoop:[NSRunLoop currentRunLoop] forMode:NSDefaultRunLoopMode];
        [[_session outputStream] open];
    }
    else
    {
        NSLog(@"creating session failed");
    }

    return (_session != nil);
}

Я проверил Info.plist, чтобы сделать запись для Поддерживаемых внешних дополнительных протоколов, а именно: com.issc.datapath

Но создание сеанса не удается...

Любые намеки, указания и т.д... пожалуйста!

1 ответ

Решение

Извините за то, что ушел. После полной новой установки этого примера, предоставленной в документах Apple: https://developer.apple.com/library/ios/samplecode/EADemo/Introduction/Intro.html меня была возможность подключиться к устройству.

Проблемы, которые я узнал:

  1. Тройная проверка вашей строки протокола.
  2. Не изменяйте образец кода до первого успешного запуска.
  3. Не забудьте ввести строку протокола в Info.plist с ключом "Поддерживаемые внешние дополнительные протоколы" (и убедитесь, что это правильный список)
  4. Проверьте идентификатор вашего пакета, когда вы хотите запустить приложение, когда подключается устройство. Идентификатор комплекта должен быть тем же доменом, что и производитель bt.

Я надеюсь, что это делает осведомителей устранения неполадок, потому что ответы были в ссылке на документ, предоставленный выше от Apple.

Другие вопросы по тегам