Ios 使用credentialsProvider与AWSMobileClient检索Cognito标识ID

Ios 使用credentialsProvider与AWSMobileClient检索Cognito标识ID,ios,swift,authentication,amazon-cognito,Ios,Swift,Authentication,Amazon Cognito,为什么在使用凭据提供程序提供的getIdentityID时成功获取Cognito ID,但在使用AWSMobileClient时出错? 我已使用自定义开发人员提供程序设置了联合身份。我正在使用AmazonCognito控制台生成的代码片段初始化AmazonCognito凭据提供程序 让credentialsProvider=AWSCognitoCredentialsProvider(区域类型:.USEast1,identityPoolId:“IDENTITY\u POOL\u ID”) let

为什么在使用凭据提供程序提供的getIdentityID时成功获取Cognito ID,但在使用AWSMobileClient时出错?

我已使用自定义开发人员提供程序设置了联合身份。我正在使用AmazonCognito控制台生成的代码片段初始化AmazonCognito凭据提供程序

让credentialsProvider=AWSCognitoCredentialsProvider(区域类型:.USEast1,identityPoolId:“IDENTITY\u POOL\u ID”)
let configuration=AWSServiceConfiguration(区域:.USEast1,credentialsProvider:credentialsProvider)
AWSServiceManager.default().defaultServiceConfiguration=配置
接下来,我将使用以下命令检索cognito标识ID:

credentialsProvider.getIdentityId().continueWith(块:{(任务)->AnyObject?在
如果(task.error!=nil){
打印(“错误:+task.Error!.localizedDescription”)
}
否则{
//任务结果将包含标识id
让cognitoId=task.result!
打印(“cognitoId:\(cognitoId)”)
}
返回任务;
})
当我运行此操作时,我成功地检索到了标识ID,并且我还可以在我的控制台上以未经身份验证的用户的身份查看它,以获取联邦标识。但是,当我尝试使用AWSMobileClient检索标识ID时,如下所示:

AWSMobileClient.sharedInstance()。在中初始化{(userState,error)
如果让userState=userState{
打印(“UserState(AccountView):\(UserState.rawValue)”)
}否则,如果let error=error{
打印(“错误:\(error.localizedDescription)”)
}
}
//检索您的Amazon Cognito ID
AWSMobileClient.sharedInstance().getIdentityId().continueWith{task in
如果let error=task.error{
打印(“错误:\(error.localizedDescription)\((错误为NSError.userInfo)”)
打印(错误)
}
如果let result=task.result{
打印(“标识id:\(结果)”)
}
归零
}
我收到AWSMobileClient错误30:错误:cognitoIdentityPoolNotConfigured(消息:“由于cognito凭据配置不可用,无法获取identityId。”)

为什么会这样?我错过了什么

我使用的是AWSMobileClient、AWSCore

环境(请填写以下信息): -SDK版本:“AWSMobileClient”、“~>2.10.0”、“AWSCore”、“~>2.10.0” -依赖关系管理器:Cocoapods -Swift版本:5.0 -Xcode版本:10.3

设备信息(请填写以下信息): -设备:MacOS 10.14.5
-iOS 12.4

我也在AWS论坛上看到了你的问题。你有幸在这方面取得了进展吗?我也在AWS论坛上看到了你的问题。你有幸在这件事上有所进展吗?