AWS 和 Swift 3 的变化
Posted
技术标签:
【中文标题】AWS 和 Swift 3 的变化【英文标题】:AWS and Changes in Swift 3 【发布时间】:2016-09-14 18:56:04 【问题描述】:在 Swift 3 更新之后,我在编译我的应用程序时遇到了一些问题。大多数错误都很容易修复,但我遇到了一些特别是 AWS 的错误。是否有针对 Swift 3 的某种更新的 AWS 开发工具包?我试着查了一下,但没有找到。无论如何,我无法解决的两个主要错误如下:
“类型 'IdentityProviderManager' 不符合协议 AWSIdentityProviderManager。”这是针对我按照教程创建的一个类,用于通过 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 类中:“类型 'LoginViewController' 不符合协议 'AWSCognitoIdentityPasswordAuthentication'。”这里的问题似乎更清楚了,因为文档说 getPasswordAuthenticationDetails() 是必需的方法,并且 XCode 在更新到 Swift 3 时似乎已将此方法更改为 getDetails() ,除非我弄错了并且它不存在开始或某事。在任何情况下,自动完成都没有给我原始方法,我似乎无法使类符合协议。
抱歉,如果答案已经在某个地方的文档中,但据我所知,AWS SDK(至少是我拥有的版本)似乎与 Swift 3 不兼容。我可以做些什么来解决这些错误?
【问题讨论】:
你的代码对我不起作用,但这解决了它:***.com/questions/39045869/… 【参考方案1】:没关系,事实证明 XCode 并没有向我显示进行所需更改的选项。自动修复实现了所需功能的略有不同的版本,最终一切正常。
【讨论】:
以上是关于AWS 和 Swift 3 的变化的主要内容,如果未能解决你的问题,请参考以下文章
Swift 3 - UTC 到时间前标签,考虑 12 小时 / 24 小时设备时间变化
Xcode 8 beta 6 AnyObject Swift 3 变化
如何以编程方式制作随时间变化的 UIButton/CollectionViewCell Swift 3