I am using Amazon Cognito and Facebook login in an ios app. Up until beta 5 this code from this SO thread worked:
class CustomIdentityProvider: NSObject, AWSIdentityProviderManager {
var tokens: [NSString: NSString]?
init(tokens: [NSString: NSString]) {
self.tokens = tokens
}
@objc func logins() -> AWSTask<NSDictionary> {
return AWSTask(result: tokens) // Compile error in beta 6
}
}
In beta 6 I get this compile error:
Cannot convert value of type '[NSString:NSString]?' to expected argument type '_?'
When I change the line to
return AWSTask(result: tokens! as [AnyObject: AnyObject])
I get the error
Type 'AnyObject' does not conform to protocol 'Hashable'
This is swift ver. 3.
Cast to NSDictionary instead of a Swift Dictionary:
return AWSTask(result: tokens! as NSDictionary)
来源:https://stackoverflow.com/questions/39045869/unable-to-compile-aws-customidentityprovider-on-xcode-8-beta-6