Инициализация JCManager

Пример инициализации объекта Менеджера управления токенами (initializeWithReaders).

В данном случае менеджер инициализируется с:

  • поддержкой ридеров iR301-UL, iR301-U, bR301, bR301 BLE, JaCarta USB и NFC смарт-картами (аргумент readers);
  • поддержкой токенов Криптотокен 2 ЭП и Laser (аргумент tokens);
  • обработчик результата инициализации (аргумент handler) вызывается в главном потоке (аргумент queue).
// 1. Запуск процесса инициализации менеджера
BOOL initialized = [JCManager.defaultManager
                    initializeWithReaders:JCReadersIR301AndBR301 | JCReadersBR301BLEAndBR500 | JCReadersCTK
                    tokens:JCTokenTypeCT2 | JCTokenTypeLaser
                    queue:dispatch_get_main_queue()
                    handler:^(NSError * _Nullable error) {
    if (error) {
        // 3. Обработка ошибки инициализации
        return;
    }
    // 4. Обработка успешной инициализации
}];

if (!initialized) {
    // 2. Обработка ситуации, когда инициализация не запустилась и аргумент handler не будет вызван.
    // Это может произойти, если менеджер уже был проинициализирован и активен,
    // т.е. не вызывался метод [JCManager finalize:handler:].
    return;
}