AWS 和 Swift 3 中的变化
AWS and Changes in Swift 3
Swift 3 更新后,我在编译我的应用程序时遇到了一些问题。大多数错误都非常容易修复,但我 运行 遇到了一些错误,尤其是 AWS。 Swift 3 是否有某种更新的 AWS SDK?我试图查找它,但还没有找到。无论如何,我无法解决的两个主要错误如下:
"Type 'IdentityProviderManager' does not conform to protocol AWSIdentityProviderManager." 这是我根据教程创建的 class 通过 AWS Cognito 设置登录。代码是:
class IdentityProviderManager: NSObject, AWSIdentityProviderManager{
var tokens : [NSString : NSString]?
init(tokens: [NSString : NSString]) {
self.tokens = tokens
}
@objc func logins() -> AWSTask<AnyObject> {
return AWSTask(result: tokens as AnyObject)
}
}
在 AWSIdentityProviderManager 的 AWS 文档中,它说唯一需要的功能是登录,我有。有没有一种简单的方法可以解决我所缺少的这个问题?
另一个错误在我的 LoginViewController class 中:"Type 'LoginViewController' does not conform to protocol 'AWSCognitoIdentityPasswordAuthentication'." 这里的问题似乎更清楚一些,因为文档说 getPasswordAuthenticationDetails() 是必需的方法并且 XCode似乎在更新到 Swift 3 时将此方法更改为 getDetails() ,除非我弄错了并且它不是从那里开始的。无论如何,自动完成没有给我原始方法,我似乎无法使 class 符合协议。
抱歉,如果答案已经在某处的文档中,但据我所知,AWS SDK(至少我拥有的版本)似乎与 Swift 不兼容 3. 是否存在我可以做些什么来解决这些错误?
没关系,原来 XCode 只是没有向我展示进行所需更改的选项。自动修复实现了所需功能的稍微不同的版本,最终一切正常。
Swift 3 更新后,我在编译我的应用程序时遇到了一些问题。大多数错误都非常容易修复,但我 运行 遇到了一些错误,尤其是 AWS。 Swift 3 是否有某种更新的 AWS SDK?我试图查找它,但还没有找到。无论如何,我无法解决的两个主要错误如下:
"Type 'IdentityProviderManager' does not conform to protocol AWSIdentityProviderManager." 这是我根据教程创建的 class 通过 AWS Cognito 设置登录。代码是:
class IdentityProviderManager: NSObject, AWSIdentityProviderManager{
var tokens : [NSString : NSString]?
init(tokens: [NSString : NSString]) {
self.tokens = tokens
}
@objc func logins() -> AWSTask<AnyObject> {
return AWSTask(result: tokens as AnyObject)
}
}
在 AWSIdentityProviderManager 的 AWS 文档中,它说唯一需要的功能是登录,我有。有没有一种简单的方法可以解决我所缺少的这个问题?
另一个错误在我的 LoginViewController class 中:"Type 'LoginViewController' does not conform to protocol 'AWSCognitoIdentityPasswordAuthentication'." 这里的问题似乎更清楚一些,因为文档说 getPasswordAuthenticationDetails() 是必需的方法并且 XCode似乎在更新到 Swift 3 时将此方法更改为 getDetails() ,除非我弄错了并且它不是从那里开始的。无论如何,自动完成没有给我原始方法,我似乎无法使 class 符合协议。
抱歉,如果答案已经在某处的文档中,但据我所知,AWS SDK(至少我拥有的版本)似乎与 Swift 不兼容 3. 是否存在我可以做些什么来解决这些错误?
没关系,原来 XCode 只是没有向我展示进行所需更改的选项。自动修复实现了所需功能的稍微不同的版本,最终一切正常。