0

現在、AWS Mobile Helper を使用して Swift でラムダを呼び出すことができません。

Cognito User Pools と Cognito Federated Identities を使用してユーザーを識別するようにプロジェクトを構成することに成功しました。

しかし、ラムダ関数を呼び出すと、クラッシュが発生します。 terminating with uncaught exception of type NSException

クラッシュする前に、次のログがあります。

AWSiOSSDK v2.4.11 [Debug] AWSInfo.m line:122 | -[AWSServiceInfo     initWithInfoDictionary:checkRegion:] | Couldn't read the region configuration from Info.plist for the client. Please check your `Info.plist` if you are providing the SDK configuration values through `Info.plist`.
*** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'The service configuration is `nil`. You need to configure `Info.plist` or set `defaultServiceConfiguration` before using this method.'

コードは次のとおりです。

let lambda = AWSLambda.defaultLambda()

lambda.invoke(myRequest, completionHandler: {
            (myAnswer: AWSLambdaInvocationResponse?, error: NSError?) in

   print("ERROR HERE: \(error)")
   let payload = myAnswer?.payload
   print("PAYLOAD HERE: \(payload)")

})
4

1 に答える 1

1

Mobile Hub または Mobile Hub Helper を使用している場合は、それが提供するクラスを使用する必要があります。CloudLogic シングルトンをインスタンス化すると、サービス構成が設定されます。

そのため、AWSLambda.defaultLambda ではなく、AWSCloudLogic.defaultCloudLogic を使用する必要があります。そのメソッドは、インスタンス化されるとすぐにアクセス許可の問題を管理します。

モバイル ハブを使用して、クラウド ロジックを使用するサンプル アプリをダウンロードすることで、例を取得できます。

モバイルハブの略図をまとめてみました

モバイルハブ図

于 2016-11-17T04:51:46.170 に答える