Завершающее приложение из-за неперехваченного исключения «Не удается сгенерировать пару ключей»., причина: «Брелок вернул следующий статус: -25308»

#ibm-mobilefirst #xcode8 #ios10 #keychain

#ibm-mobilefirst #xcode8 #ios10 #брелок

Вопрос:

У меня есть приложение, и ему нужно работать в фоновом режиме и загружать данные на мой сервер. У меня есть следующие проблемы с аварийным завершением, когда я пытаюсь выполнить http-вызов, когда мое устройство заблокировано паролем. Im-развертывание с использованием Xcode 8.0 на устройстве IOS 10.

Ниже мои журналы:-

2016-10-20 15:45:51.993433 XXX [2339:680871] [ОШИБКА] [CERTIFICATE_MANAGER] [WLCertManager generateKeyPair:с publickeylabel: с размером ключа:] в WLCertManager.m: 222 :: сгенерировать пару ключей -> Не удалось

2016-10-20 15:45:51.999508 XXX[2339:680871] [ФАТАЛЬНОЕ] [WORKLIGHT] Неперехваченное исключение: брелок вернул следующий статус: -25308

2016-10-20 15:45: 51.993433 XXX[2339: 680871]: AIR [2355] /1 # 4 LF = 0 добавить ошибку Domain = NSOSStatusErrorDomain Code =-25308 «ks_crypt: e00002e2 не удалось получить доступ к элементу ‘oe’ (класс 6, пакет: 0), когда keychain заблокирован». userInfo={NSDescription=ks_crypt: e00002e2 не удалось получить доступ к элементу ‘oe’ (класс 6, пакет: 0), когда keychain заблокирован.}

Я также выполнил два сценария, в которых:-

  1. Удалите пароль устройства, выполните HTTP-вызов, когда мое приложение заблокировано. Это работает нормально и не выдает никаких ошибок.
  2. С помощью пароля устройства выполните HTTP-вызов, когда мое приложение заблокировано. Это тот, который выдает конкретную ошибку.

Я также включил совместное использование keychain в возможностях со значением «worklight.group»…Но все еще не работает. Кто-нибудь может мне помочь? Большое вам спасибо ><

Комментарии:

1. Можете ли вы проверить, включен ли «Общий доступ к связке ключей» в Targets -> Capabilities?

2. Привет, Вивин, спасибо за ответ. Ya. уже включен и настроен на worklight.group. После очистки и повторной сборки. Все то же самое.

Ответ №1:

Mobilefirst iOS Client SDK в настоящее время не поддерживает запросы, выполняемые в фоновом режиме. Вы можете использовать API, отличные от MFP, если вы обращаетесь к незащищенным ресурсам.

ОБНОВЛЕНИЕ от 24 апреля 2017 :

Mobilefirst iOS 8.0 Client SDK поддерживает фоновые запросы в феврале 2017 года при выпуске iFix.