Универсальность примера кода AWS для устаревания учетных данныхProvider.logins

У меня есть приложение для iOS, которое использует AWS MobileHub и SNS. При обновлении до MobileHub 2.4.14 я столкнулся с устареванием учетных данныхProvider.logins. Единственное решение, которое я смог найти, было это Сообщение SO, направляющее меня на этот пример кода AWS, который, похоже, подходит для моей ситуации, хотя он был написан для авторизованных удостоверений разработчиков и нацелен на CognitoSync (мне просто нужен SNS).

После адаптации примера кода к моему приложению я получаю следующее сообщение об ошибке во время выполнения после получения токена безопасности Cognito:

2017-02-10 17:19:18.449 XXXX[9808:4068888] AWSiOSSDK v2.4.14 [Debug] AWSURLResponseSerialization.m line:63 | -[AWSJSONResponseSerializer responseObjectForResponse:originalRequest:currentRequest:data:error:] | Response body:
{"message":"Identity pool isn't set up for SNS"}
2017-02-10 17:19:18.450 XXXX[9808:4068888] AWSiOSSDK v2.4.14 [Error] AWSCognitoService.m line:338 | __37-[AWSCognito registerDeviceInternal:]_block_invoke.262 | Unable to register device: Error Domain=com.amazonaws.AWSCognitoSyncErrorDomain Code=5 "Identity pool isn't set up for SNS" UserInfo={NSLocalizedFailureReason=InvalidConfigurationException:, NSLocalizedDescription=Identity pool isn't set up for SNS}

Сообщение об ошибке не говорит мне, что именно не так. Я использую тот же пул удостоверений, что и до обновления. Роль SNS моего пула удостоверений уже имеет разрешение на все действия, связанные с SNS.

Меня беспокоит, что ошибка находится в домене AWSCognitoSyncErrorDomain, и я не хочу использовать CognitoSync. Является ли эта ошибка побочным эффектом примера кода? Есть ли пример кода, который устраняет устаревшие учетные данныеProvider.logins без использования CognitoSync?

Спасибо


person David U    schedule 11.02.2017    source источник