アプリケーション配布ガイド
ArcGIS Maps SDK for Swift を使用して開発したアプリケーションを配布する場合に必要なライセンス認証の手順を説明します。
API キーの設定
ArcGIS Location Platform のロケーション サービスを使用する場合は、アプリで API キーを設定する必要があります。API キーの詳細は API キーの取得を、API キーの設定方法はアプリの作成の API キーを設定するをご参照ください。
ライセンス認証のステップ
開発したアプリケーションのライセンス認証のステップは以下の通りです。
使用するライセンスの選択
ArcGIS Maps SDK for Swift には Lite、Basic、Standard の 3 つのライセンス レベルと Analysis、Advanced Editing の 2 つのエクステンションがあります。Analysis エクステンションは Standard ライセンス以上、Advanced Editing エクステンションは Basic ライセンス以上で利用可能です。開発したアプリケーションが使用する機能に応じて、適切なライセンス レベルを選択してください。
各ライセンスで利用可能な機能の概要はESRIジャパン製品ページをご参照ください。
ライセンスの認証パターン
ライセンスの認証は次の2つの方法があります。
ライセンス キーを使用した認証
- ライセンス キーを使用した認証では、Lite ライセンスの場合は My Esri から取得でき、Basic 以上のライセンスの場合は ArcGIS Native Apps の配布パックを購入して取得できます。取得したライセンス キーを利用して、アプリケーションを認証します。バージョン 100.x / 200.x とバージョン 300.x ではライセンス キーが異なります。保守契約が有効なユーザーの方で、バージョン 300.x 用のライセンス キーが必要な方は、My Esri からお問い合わせください。
- ライセンス キーを使用した認証では、Lite ライセンスの場合は My Esri から取得でき、Basic 以上のライセンスの場合は ArcGIS Native Apps の配布パックを購入して取得できます。取得したライセンス キーを利用して、アプリケーションを認証します。
指定ユーザーによるアカウント認証
- 指定ユーザーによるアカウント認証とは、ArcGIS Online または ArcGIS Enterprise の組織のメンバーである ArcGIS 組織アカウントを使用してログイン認証を行います。
- ログインを行う指定ユーザー アカウントのタイプによって関連付けられたライセンスのレベルが異なり、また認証はアプリにコードを含める必要があります。
指定ユーザーのユーザー タイプとライセンス レベルの対比表
| ユーザー タイプ | ライセンス レベル |
|---|---|
| Viewer | Lite |
| Contributor / Mobile Worker | Basic |
| Creator | Standard |
| Professional / Professional Plus | Advanced ※1 |
※1 ArcGIS Maps SDK for Swift には Advanced ライセンスはありません。
Lite ライセンス キーの取得
ArcGIS Native Apps Lite のライセンス キーを My Esri のダッシュボードから取得し、取得したライセンス キーを利用して、アプリケーションを Lite ライセンスで認証することができます。 以下の手順で Lite レベルのライセンス キーを取得します。
- My Esri にアクセスしサインインします。
- ArcGIS Location Platform アカウント、または、ArcGIS Online アカウントにサインインしてない場合は、いずれかのアカウントでサインインします。
- いずれかのアカウントもお持ちでない場合は、ArcGIS Location Platform アカウントに サインアップ(無料)してください。アカウントの作成方法は「開発者アカウントの作成」をご覧ください。
- 画面右上のプロフィール アイコンをクリックし、[Profiel & Settings] をクリックします。

- ダッシュボードの中にあるパネルから、[ArcGIS Maps SDKs for Native Apps ライセンス文字列] というパネルをクリックします。

- お使いの SDK のバージョン向けのライセンス キーをコピーし、入手してください。

Lite ライセンスの認証
ライセンス キーを使用した認証
- ArcGIS Native Apps Lite のライセンス キーを取得する必要があります
- ライセンス キーの取得方法は Lite のライセンス キーの取得をご参照ください
- 認証の方法は、ライセンス キーを使用した認証をご参照ください
ArcGIS Online /Portal for ArcGIS へのログインによる認証
- アプリケーションを使用するユーザーごとに ArcGIS Online 組織向けプラン/Portal for ArcGIS の指定ユーザー アカウント(ArcGIS Native Apps Lite ライセンス レベルを保有する)が必要です
- アプリケーションが少なくとも 30 日に 1 回は ArcGIS Online 組織向けプラン/Portal for ArcGIS へログインする必要があります
- 認証の手順は、指定ユーザー アカウントを使用した認証をご参照ください
Basic ライセンスの認証
ライセンス キーを使用した認証
- ArcGIS Native Apps Basic の配布パックを購入する必要があります
- ArcGIS Native Apps の配布パックの購入については ESRIジャパンにお問合せください。ArcGIS Native Apps の配布パックをご購入頂いた場合、ESRIジャパンよりライセンス キーをメールにてお送りします。
- 認証の手順は、ライセンス キーを使用した認証をご参照ください
ArcGIS Online / Portal for ArcGIS へのログインによる認証
- アプリケーションを使用するユーザーごとに ArcGIS Online 組織向けプラン/Portal for ArcGIS の指定ユーザー アカウント(ArcGIS Native Apps Basic ライセンス レベルを保有する)が必要です
- アプリケーションが少なくとも 30 日に 1 回は ArcGIS Online 組織向けプラン/Portal for ArcGIS へログインする必要があります
- 認証の手順は、指定ユーザー アカウントを使用した認証をご参照ください
Standard ライセンスの認証
ライセンス キーを使用した認証
- ArcGIS Native Apps Standard の配布パックを購入する必要があります
- ArcGIS Native Apps の配布パックの購入については ESRIジャパンにお問合せください。ArcGIS Native Apps の配布パックをご購入頂いた場合、ESRIジャパンよりライセンス キーをメールにてお送りします。
- 認証の手順は、ライセンス キーを使用した認証をご参照ください
ArcGIS Online /Portal for ArcGIS へのログインによる認証
- アプリケーションを使用するユーザーごとに ArcGIS Online 組織向けプラン/Portal for ArcGIS の指定ユーザー アカウント(ArcGIS Native Apps Standard ライセンス レベルを保有する)が必要です
- アプリケーションが少なくとも 30 日に 1 回は ArcGIS Online 組織向けプラン/Portal for ArcGIS へログインする必要があります
- 認証の手順は、指定ユーザー アカウントを使用した認証をご参照ください
Analysis Extension ライセンスの認証
ライセンス キーを使用した認証
- ArcGIS Native Apps Analysis Extension の配布パックを購入する必要があります
- ArcGIS Native Apps の配布パックの購入については ESRIジャパンにお問合せください。ArcGIS Native Apps の配布パックをご購入頂いた場合、ESRIジャパンよりライセンス キーをメールにてお送りします。
- 認証の手順は、ライセンス キーを使用した認証をご参照ください
ArcGIS Online /Portal for ArcGIS へのログインによる認証
- アプリケーションを使用するユーザーごとに ArcGIS Online 組織向けプラン/Portal for ArcGIS の指定ユーザー アカウント(ArcGIS Native Apps Analysis アドオン ライセンスを割り当てられた)が必要です
- アプリケーションが少なくとも 30 日に 1 回は ArcGIS Online 組織向けプラン/Portal for ArcGIS へログインする必要があります
- 認証の手順は、指定ユーザー アカウントを使用した認証をご参照ください
Advanced Editing Extension ライセンスの認証
ライセンス キーを使用した認証
- ArcGIS Native Apps Advanced Editing Extension の配布パックを購入する必要があります
- ArcGIS Native Apps の配布パックの購入については ESRIジャパンにお問合せください。ArcGIS Native Apps の配布パックをご購入頂いた場合、ESRIジャパンよりライセンス キーをメールにてお送りします。
- 認証の手順は、ライセンス キーを使用した認証をご参照ください
Portal for ArcGIS へのログインによる認証
注意:この認証は、ArcGIS Enterprise 11.1 以前のバージョンでは使用できません。- アプリケーションを使用するユーザーごとに Portal for ArcGIS の指定ユーザー アカウント(Advanced Editing ユーザー タイプ エクステンションを割り当てられた)が必要です
- アプリケーションが少なくとも 30 日に 1 回は Portal for ArcGIS へログインする必要があります
- 認証の手順は、指定ユーザー アカウントを使用した認証をご参照ください
ライセンスの認証方法
以下の認証に応じた作業を行ってください。
ライセンス キーを使用した認証
取得したライセンス キーを利用して、アプリケーションを認証することができます。
アプリケーションのコードにおいて SDK の機能が呼び出される前に、以下のコードを使用して配布パックのライセンス キーを設定します。
// 取得したライセンス文字列でアプリのライセンスを設定します
guard let licenseKey = LicenseKey("nativelite,3000,rud#########,day-month-year,####################") else { return }
do {
let result = try ArcGISEnvironment.setLicense(with: licenseKey)
print("License Result : \(result.licenseStatus)")
} catch {
print(error)
}Extension ライセンスを認証する場合は以下のコードを使用します。
// 基本ライセンスとエクステンション ライセンスのリストを設定します
let licenseKey = LicenseKey("nativelite,3000,rud#########,day-month-year,####################")!
let extensions = [
LicenseKey("nativeanalyst,3000,rud#########,day-month-year,####################")!
]
do {
let result = try ArcGISEnvironment.setLicense(
with: licenseKey,
extensions: extensions
)
} catch {
print(error)
}指定ユーザー アカウントを使用した認証
アプリケーションの実行時に、アプリケーションを利用するユーザーが保有する ArcGIS Online 組織向けプランもしくは Portal for ArcGIS の指定ユーザー アカウントを使用して ArcGIS Online / Portal for ArcGIS にログインすることで、ライセンスを取得することができます。
アプリケーションのコードにおいて SDK の機能が呼び出される前に、ライセンスを取得・設定します。以下のコードは、ArcGIS Online の指定ユーザーのライセンスを取得する方法を示しています。
認証方法の詳細については、「How to use user authentication in your app(英語)」や「Security and authentication(英語)」も併せてご覧ください。
// ポータルクラスを構築し、ユーザーが認証情報を入力することを確認します。
let url = URL(string: "https://myportal.com")!
// ユーザーに認証情報を使用してログインするよう求めます。
let portal = Portal(url: url, connection: .authenticated)
// ポータルを読み込みます。
do {
try await portal.load()
// ポータルからメンバーのライセンス情報を取得します。
let licenseInfo = try await portal.licenseInfo
// メンバーの licenseInfo を使用してライセンスを設定します。
result = try ArcGISEnvironment.setLicense(from: licenseInfo)
// このアプリは現在、ライセンスを取得しています。
// キー チェーン項目を作成し、ライセンス情報を保存することで、オフラインでもアプリを起動してライセンス認証を行えるようにします。
let licenseInfoData = licenseInfo.toJSON()
let label = "com.your_org.your_app_name".data(using: .utf8)!
let keychainItem: [String: Any] = [kSecClass as String: kSecClassKey,
kSecAttrLabel as String: label,
kSecValueData as String: licenseInfoData,
kSecUseDataProtectionKeychain as String: true]
status = SecItemAdd(keychainItem as CFDictionary, nil)
} catch {
print(error)
}