iOS 用 Mobile Authentication SDK
これらのユーティリティは、iOS アプリケーションから Amazon Location Service API コールを行うときの認証に役立ちます。特に、認証方法として Amazon Cognito または API キー を使用する場合に便利です。
iOS 用 Mobile Authentication SDK は GitHub で Amazon Location Service Mobile Authentication SDK for iOS
インストール
Xcode プロジェクトに SDK をインストールする:
[ファイル] に移動し、XCode プロジェクトで [パッケージの依存関係を追加] を選択します。
検索バーにパッケージ URL として https://github.com/aws-geospatial/amazon-location-mobile-auth-sdk-ios/
を入力し、Enter キーを押します。 amazon-location-mobile-auth-sdk-ios
パッケージを選択し、[パッケージを追加] を押します。AmazonLocationiOSAuthSDK
パッケージ製品を選択し、[パッケージを追加] を押します。
認証関数
認証ヘルパー SDK には以下の関数があります。
authHelper.authenticateWithApiKey("My-Amazon-Location-API-Key"): LocationCredentialsProvider
: この関数は、API キーで動作するように初期化されたLocationCredentialsProvider
を返します。authHelper.authenticateWithCognitoIdentityPool("My-Cognito-Identity-Pool-Id"): LocationCredentialsProvider
: この関数は、Amazon Cognito アイデンティティプールで動作するように初期化されたLocationCredentialsProvider
を返します。
使用方法
Mobile Authentication SDK を使用するには、対象のアクティビティに以下のステートメントを追加します。
import AmazonLocationiOSAuthSDK import AWSLocationXCF
認証ヘルパーと位置情報プロバイダーのクライアントインスタンスを作成するときには、2 つのオプションがあります。Amazon Location API キーまたは Amazon Cognito を使用してインスタンスを作成できます。
-
Amazon Location API キーを使用して認証ヘルパーのインスタンスを作成するには、以下のようにヘルパークラスを宣言します。
let authHelper = AuthHelper() let locationCredentialsProvider = authHelper.authenticateWithAPIKey(apiKey: "
My-Amazon-Location-API-Key
", region: "account-region
") -
Amazon Cognito を使用して認証ヘルパーインスタンスを作成するには、以下のようにヘルパークラスを宣言します。
let authHelper = AuthHelper() let locationCredentialsProvider = authHelper.authenticateWithCognitoUserPool(identityPoolId: "
My-Amazon-Location-API-Key
", region: "account-region
")
位置情報・認証情報プロバイダーを使用して Amazon Location クライアントインスタンスを作成し、Amazon Location Service を呼び出すことができます。以下の例では、指定した緯度と経度の近くにある場所を検索します。
let locationClient = AWSLocation.default() let searchPlaceIndexForPositionRequest = AWSLocationSearchPlaceIndexForPositionRequest()! searchPlaceIndexForPositionRequest.indexName = "My-Place-Index-Name" searchPlaceIndexForPositionRequest.position = [30.405423, -97.718833] let nearbyPlaces = locationClient.searchPlaceIndex(forPosition: searchPlaceIndexForPositionRequest)