AWS APIGateway是否生成了SDK和Swift 4.0?

时间:2017-10-14 02:02:55

标签: aws-api-gateway swift4

我在v3.2下有一个工作的Swift项目,使用AWS APIGateway生成的SDK。但是,我尝试转换为Swift 4.0,现在它没有返回任何结果,也没有错误。

目前这是不受支持的吗?

1 个答案:

答案 0 :(得分:0)

我想我在github上找到了答案:

https://github.com/aws/aws-sdk-ios/issues/744

相关引用如下,并且对何时支持Swift 4没有任何回应。

  

目前生成的SDK仅为Swift 3。

更新#1: 我前段时间发现这个问题提供了解决这个问题的方法:
https://github.com/aws/aws-sdk-ios/issues/750#issuecomment-337046816

  

由于@objc推断的变化,这种情况正在发生。见变化:   SE-0160

     

这意味着,Swift类中的属性不再存在   ObjectiveC代码可见,我们需要明确地制作它们   可用。目前Swift 4的工作原则是要么   在为dynamo db映射的属性之前的@obj声明   使用表格或声明所有属性对ObjectiveC可见   @objcMembers

     

示例:

     

类级别:@objcMembers类MyTable:AWSDynamoDBObjectModel,   AWSDynamoDBModeling {

var hashKey: String?
var attribute1: NSNumber?

public static func dynamoDBTableName() -> String {
    return "MyTableName"
}

public static func hashKeyAttribute() -> String {
    return "hashKey"
}
 } or
     

属性级别:类MyTable:AWSDynamoDBObjectModel,   AWSDynamoDBModeling {

@objc var hashKey: String?
@objc var attribute1: NSNumber?

public static func dynamoDBTableName() -> String {
    return "MyTableName"
}

public static func hashKeyAttribute() -> String {
    return "hashKey"
}
 }

我会进一步调查,看看我们是否可以通过其他方式缓解这个问题。