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

2024-05-29

我在 iOS 应用程序中使用 Amazon Cognito 和 Facebook 登录。直到 beta 5 为止此代码从这个SO线程 https://stackoverflow.com/questions/37597388/aws-cognito-swift-credentials-provider-logins-is-deprecated-use-awsidentitypro 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
    }
}

在 beta 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.


转换为 NSDictionary 而不是 Swift 字典:

return AWSTask(result: tokens! as NSDictionary)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

无法在 xcode 8 beta 6 上编译 AWS CustomIdentityProvider 的相关文章

随机推荐