无法在xcode 8 beta 6上编译AWS CustomIdentityProvider

kom*_*ten 5 beta amazon-web-services ios swift xcode8-beta6

我在ios应用程序中使用Amazon Cognito和Facebook登录.直到beta 5 ,这个SO线程的代码工作:

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
    }
}
Run Code Online (Sandbox Code Playgroud)

在测试版6中,我得到了这个编译错误:

Cannot convert value of type '[NSString:NSString]?' to expected argument type '_?'
Run Code Online (Sandbox Code Playgroud)

当我将线路更改为

return AWSTask(result: tokens! as [AnyObject: AnyObject])
Run Code Online (Sandbox Code Playgroud)

我收到了错误

Type 'AnyObject' does not conform to protocol 'Hashable'
Run Code Online (Sandbox Code Playgroud)

这是快速的.3.

小智 5

转换为NSDictionary而不是Swift Dictionary:

return AWSTask(result: tokens! as NSDictionary)
Run Code Online (Sandbox Code Playgroud)