Swift 3で書かれたiOSアプリケーションに、生成されたAWS API Gateway SDKを追加しようとしています。AWSによって生成されたコードには、Swift 3ではコンパイルされないものがたくさん含まれていますが、それら。間違いの1つは私を本当に混乱させました。Swift 3でAWSAPIGatewayClientの設定を行うことはできませんか?
AWSライブラリーから(プリコンパイルされた)AWSAPIGatewayClientクラスは次のようになります。
open class AWSAPIGatewayClient : NSObject {
open var configuration: AWSServiceConfiguration! { get }
open var apiKey: String!
}
そして、生成された子クラスは、このinit関数を持っています
init(configuration: AWSServiceConfiguration) {
super.init()
self.configuration = configuration
...
}
コンパイラは自然にその構成プロパティを不平を言いますゲット専用です:
AWSMyServiceClient.swift:127:25: Cannot assign to property: 'configuration' is a get-only property
私は何かが不足していますか?または、これはおそらくどのように働く可能性がありますか?私は同じ問題を抱えている誰かを見つけることができませんでした。私の特定のコードに何か問題があると思わせてしまいます。
は、私はいつもAWS API GatewayのOBJ-cはスウィフト2.2プロジェクトのコードを生成し使用しています。私は自分のプロジェクトをSwift 3に変換しましたが、それはうまくいきます(まだobj-cで生成されたコード)。私は今、Swiftコードを提供していることに気づいた。私は生成されたSwiftとobj-cコードを置き換えようとしましたが、あなたが言ったように、それは多くのコンパイルエラーがあります。私は生成されたコードでコンパイルエラーを修正するつもりはない。これはすぐに使えるはずです。生成されたSwiftについて、それがどのバージョンでどのように導入されたのか、どのように使用するのかについてのドキュメントは見つかりません。今のところ私はobj-cに固執します。 –
ありがとう、これは非常に有用な入力でした。次に、このアプローチを試してみましょう。コードを自動生成することの利点の多くは、更新するたびに変更する必要がある場合は失われます。 –