アプリへの署名

オペレーティング システムによって署名の手順は少し異なりますが、概念的には同じです。 他のユーザーが使用できるように配布するアプリには、署名する必要があります。 ArcGIS AppStudio は、アプリの署名と構築プロセスを実行します。ただし、AppStudio への入力として提供するために、各オペレーティング システムのベンダーから署名ファイルを取得する必要があります。

新しいアプリの準備

アプリに署名してリリースする前に、ArcGIS クライアント ID、リダイレクト URI、およびライセンス文字列を指定する必要があります。 クライアント ID やリダイレクト URI を指定しなくてもアプリを構築することはできますが、これらは ArcGIS サービスを使用するアプリで重要です。

すべてのアプリでは、指定ユーザーのサイン インに ArcGIS クライアント ID (AppID とも呼ばれます) が必要です。 クライアント ID を取得するには、https://developers.arcgis.com に移動し、開発者の認証情報を使用してサイン インし、[Dashboard] の横にあるドロップダウン矢印をクリックして、[New Application] を選択します。 登録すると、クライアント ID が送付されます。この ID を AppStudio にコピーできます。ArcGIS AppStudio を使用している場合、[設定] > [ライセンス][登録] ボタンをクリックしても、クライアント ID を生成することができます。

アプリで指定ユーザーのサイン インが必要な場合、リダイレクト URI を指定する必要もあります。 リダイレクト URI は、OAuth サイン インが完了した後にユーザーをリダイレクトできる有効な場所を表します。 アプリに新しいリダイレクト URI を追加するには、https://developers.arcgis.com でアプリケーションの [Authentication] タブに移動します。ここで、アプリをまだ登録していない場合は登録し、独自のリダイレクト URI を追加するか、urn:ietf:wg:oauth:2.0:oob を追加して、ArcGIS Online 上のアプリに戻るホスト リダイレクト ページを使用します。 urn:ietf:wg:oauth:2.0:oob の URI は、ArcGIS AppStudio で作成および登録されたすべてのアプリにも自動的に設定されます。

ライセンス文字列は、ArcGIS Runtime バージョン 100.x を使用するアプリの構築に必要です。 ライセンス文字列がないとアプリを構築できません。ライセンス文字列は、アプリが実行権限を持つ ArcGIS プラットフォームの機能も示しています。 ライセンス文字列の取得方法の詳細については、「アプリのライセンス設定」をご参照ください。

iOS アプリへの署名

すべての iOS アプリは署名されている必要があります。 テスト用に作成されたアプリは、Apple 開発者アカウントおよびテストを実行するデバイスに関連付けられた開発者証明書を使用して署名する必要があります。 運用時の証明書は、Apple 開発者アカウントのみに関連付けられます。

(クラウドまたはローカルの) AppStudio ギャラリーのサイド パネルにある [Make] ツールを実行する前に、[プラットフォーム] の見出しの下にある [設定][iOS] タブで、以下を指定していることを確認してください。

  • バンドル ID - 常に逆インターネット ドメイン名を使用します (例: com.companyname.applicationname)。 パッケージ名はアプリの一意の識別子であり、アプリケーション プロセスのデフォルト名です。 アプリを公開したら、パッケージ名は変更できません。 詳細については、「Prepare for app distribution」でバンドル ID の説明をご参照ください。
  • プロビジョニング プロファイル - アプリを実行する予定のデバイスを示します。
  • 証明書 (*.p12 ファイル) - App Store または社内配布用の証明書です。 このファイルは、キーチェーン アクセスで作成されます。 AppStudio でこの情報とバンドル ID を指定しない場合、インストール ファイルは生成されません。 詳細については、「アプリの署名とは」をご参照ください。

Make ツールの実行時に、証明パスワードを入力するよう求められます。

署名に必要な証明書ファイルを作成するには、開発者は次の手順を 1 度実行する必要があります。Mac が必要です。

  1. iOS Dev Center から開発者証明書 (例: ios_developer.cer) をダウンロードします。
  2. iOS Dev Center からプロビジョニング プロファイル (例: ios_developer.mobileprovision) をダウンロードします。
  3. ファインダーを使用して、[アプリケーション] > [ユーティリティ] > [キーチェーン アクセス] の順に参照します。
  4. 証明書をキーチェーン アクセスにインポートします。
  5. [キーチェーン アクセス] の [キーチェーン] リストから [ログイン] を選択し、[カテゴリ] リストから [自分の証明書] を選択します。 [phone Developer: Your Name] という名前の証明書を選択し、パスワードを指定して証明書と秘密鍵 (例 john_doe_private_key.p12) をエクスポートします。

    証明書が作成されます。

  6. AppStudio で、[設定] > [プラットフォーム] > [iOS] の順に参照します。
  7. プロビジョニング プロファイル パスを設定します。
  8. アプリの分布タイプを設定します。 オプションの詳細については、分散方法についての Xcode ドキュメントをご参照ください。
注意:

*.p12 証明書ファイルとモバイル プロビジョニング ファイルをダブルクリックし、ファイルをインポートします。

macOSAppStudio を使用している場合、ローカルの [Make] で iOS アプリを構築するために、2 つの追加プロパティを設定する必要があります。 これらのフィールドの内容は、開発または配布証明書で見つかることがあります。ファインダーを使用して [アプリケーション] > [ユーティリティ] > [キーチェーン アクセス] を参照すると確認できます。

[チーム ID] フィールドに証明書の組織単位を入力します。

[コード署名 ID] フィールドに証明書の一般名を入力します。

Android アプリへの署名

Android のリリース ビルドを準備するには、はじめに署名キーストア ファイルを生成する必要があります。 このファイルの作成方法の詳細については、Android のドキュメントをご参照ください。

(クラウドまたはローカルの) [Make] ツールを実行する前に、[プラットフォーム] の見出しの下にある [設定][Android] タブで、以下を指定していることを確認してください。

  • パッケージ名 - 常に逆インターネット ドメイン名を使用します (例: com.companyname.applicationname)。 パッケージ名はアプリの一意の識別子であり、アプリケーション プロセスのデフォルト名です。 アプリを公開したら、パッケージ名は変更できません。 詳細については、Android SDK の manifest element にあるパッケージ名の説明をご参照ください。
  • キーストア ファイル パス - デスクトップ コンピューター上のキーストア ファイルの場所
  • キーのエイリアス - キーストアの作成時に作成されたキー名

この情報を指定していない場合、インストール ファイルは作成されますが、署名はされません。 未署名のファイルは、テスト用にインストールすることはできますが、Google Play または Amazon Appstore のストアには送信できません。

Make ツールの実行時に、キーストアおよびキー パスワードを入力するよう求められます。

キーストアを作成するには、開発者は次の手順を 1 度実行する必要があります。

  1. http://www.oracle.com/technetwork/java/javase/downloads/index.html から Java Development Kit (JDK) をダウンロードしてインストールします。
  2. デスクトップ コンピューター上に JAVA_HOME という環境変数を作成します (http://docs.oracle.com/cd/E19182-01/820-7851/inst_cli_jdk_javahome_t/index.html)。
  3. JDK の bin フォルダーへのパスを PATH 環境変数に追加します。
  4. コマンド ウィンドウで、次のコマンドを使用してキーを作成します。keytool -genkey -v -keystore [keystore_name].keystore -alias [alias_name] -keyalg RSA -keysize 2048 -validity 10000。ここで、keystore_name は、結果のキーストア ファイルに選択した名前で、alias_name は、エイリアスとして選択した名前です。
  5. キーストアのパスワードを入力して、確認のため、もう一度入力します。
  6. 追加情報を入力して確認します。
  7. キーのパスワードを入力します。 このパスワードは一意の値を使用できます。または、Enter キーを押して、キーストアのパスワードと同じパスワードを使用できます。

    キーストア ファイルが、このコマンドを実行したフォルダーに作成されます。

macOS アプリへの署名

Android と同様、macOS インストール ファイルの要求時に証明書を提供しない場合、それらは作成されますが、署名されません。 未署名のファイルは、テスト用にインストールすることはできますが、Mac のストアには送信できません。 次の手順は iOS の場合と似ていますが、macOS 用のプロビジョニング ファイルは要求されません。 詳細については、「アプリの署名とは」をご参照ください。

(クラウドまたはローカルの) [Make] ツールを実行する前に、[プラットフォーム] の見出しの下にある [設定][macOS] タブで、以下を指定していることを確認してください。

  • バンドル ID - 常に逆インターネット ドメイン名を使用します (例: com.companyname.applicationname)。 パッケージ名はアプリの一意の識別子であり、アプリケーション プロセスのデフォルト名です。 アプリを公開したら、パッケージ名は変更できません。 詳細については、「Prepare for app distribution」でバンドル ID の説明をご参照ください。
  • 証明書 (*.p12 ファイル) - App Store または社内配布用の証明書です。 このファイルは、キーチェーン アクセスで作成されます。 AppStudio でこの情報とバンドル ID を指定しない場合、インストール ファイルは生成されません。 詳細については、「アプリの署名とは」をご参照ください。

Make ツールの実行時に、証明パスワードを入力するよう求められます。

macOS アプリへの署名に必要な証明書ファイルを作成するには、上記で説明した iOS アプリの場合と同じ手順を実行します。

Windows アプリへの署名

Android と同様、Windows インストール ファイルの要求時に証明書を提供しない場合、それらは作成されますが、署名されません。

(クラウドまたはローカルの) [Make] ツールを実行する前に、[プラットフォーム] の見出しの下にある [設定][Windows] タブで、証明書ファイルを指定していることを確認してください。 この証明書 (*.p12 または *.pfx ファイル) は、Windows ストアまたは社内配布用の証明書です。 詳細については、Microsoft ドキュメントの「パッケージ署名用の証明書の作成」をご参照ください。