Я AWS Cognito и AWSCognitoDataset в приложении iOS.AWSCognitoCredentialsProvider.credentialsWithRegionType депрепаратирован. Что использовать вместо этого?
Я вызываю registerCognitoWithConfiguration(), но это устарело. Вместо этого следует использовать init(). Но тот, который, как мне кажется, мне нужно использовать, требует идентификатора, к которому у меня нет доступа до тех пор, пока я не пользуюсь credentialsProvider для вызова getIdentityId() - это уловка 22.
Итак, как я могу заменить registerCognitoWithConfiguration() ?
Digits.sharedInstance().authenticateWithViewController(...
{session, error in
if session != nil {
self.completeDigitsLogin()
} else {
...
}
func completeDigitsLogin() {
if let session = Digits.sharedInstance().session() {
AWSCognitoCredentialsProvider.credentialsWithRegionType(
Constants.COGNITO_REGIONTYPE,
accountId:Constants.AWS_ACCOUNT_ID,
identityPoolId:Constants.COGNITO_IDENTITY_POOL_ID,
unauthRoleArn:"",
authRoleArn:Constants.COGNITO_ARN_AUTH_ROLE,
logins:["www.digits.com": makeTwitterSessionString(session)])
let conf = AWSServiceConfiguration(
region:Constants.COGNITO_REGIONTYPE,
credentialsProvider:credentialsProvider)
AWSCognito.registerCognitoWithConfiguration(config, forKey:"main")
credentialsProvider.getIdentityId().continueWithBlock {
(task:AWSTask!) -> AnyObject! in
let cognitoId = task.result as! String
print("CognitoId = \(cognitoId)")
let cognitoSync = AWSCognito(forKey:"main")
self.dataset = cognitoSync.openOrCreateDataset("Candidate")
self.dataset.setString(session.phoneNumber, forKey:"phone")
self.synchronizeDataset()
return nil
}
}
}
Xcode утверждает, что это. На данный момент я придерживаюсь API. – Carl