Невозможно скомпилировать AWS CustomIdentityProvider в xcode 8 beta 6

Я использую Amazon Cognito и Facebook для входа в приложение ios. До бета-версии 5 этот код из этой темы работал:

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
    }
}

В бета 6 я получаю эту ошибку компиляции:

Cannot convert value of type '[NSString:NSString]?' to expected argument type '_?'

Когда я меняю строку на

return AWSTask(result: tokens! as [AnyObject: AnyObject])

Я получаю ошибку

Type 'AnyObject' does not conform to protocol 'Hashable'

Это быстрый вер. 3.

1 ответ

Решение

Приведение к NSDictionary вместо Swift Dictionary:

return AWSTask(result: tokens! as NSDictionary)
Другие вопросы по тегам