Невозможно скомпилировать 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)