我有一个使用AWS MobileHub和SNS的iOS应用。升级到MobileHub 2.4.14时,我遇到了credentialsProvider.logins的弃用。我能找到的唯一解决方案是this SO指示我this 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。此错误是示例代码的副作用吗?是否存在解决credentialsProvider.logins弃用而不涉及CognitoSync的示例代码?
由于