iOSアプリ開発:基礎・用語集
アプリケーションの配布に関するガイド、iTunes Connect デベロッパガイドを引用・参考にまとめた記事です。詳細は各ガイドをご覧ください。
**# プロビジョニング
** アプリケーションをデバイス上で起動し、ある種のサービスが利用できるよう、準備、設定する手続き。
# プロビジョニングプロファイル
アプリケーションのプロビジョニングをする働きがあります。
App ID、証明書、端末のUDIDの3つの情報を関連づけます。
# 開発用証明書
開発中、チームのある開発者を識別するために使います。Xcodeを介して、デバイス上でアプリケーションを起動できるようにする働きがあります。開発用証明書は、チームメンバーごとに存在します。
# 配布用証明書
配布用証明書はチームにひとつ存在し、ストアにアプリケーションを登録する、あるいはストアを通さずに配布する際に使います。会社の場合、配布用証明書は、アプリケーションの登録権限を持つチームメンバーが共有します。
# 開発用プロビジョニングプロファイル
アプリケーションからある種の技術を利用するとともに、開発期間中、所定のデバイス上で実行できるようにする働きがあります。
# アドホックプロビジョニングプロファイル
配布用プロビジョニングプロファイルの一種です。
所定のデバイス上にアプリケーションをインストールし、Xcodeがなくてもキーとなる技術やサービスを利用できるようにする働きがあります。
配布するアプリケーションに合致するApp ID、テストに用いるデバイスのリスト、配布用証明書を指定して、アドホックプロビジョニングプロファイルを作成します。
テスト用デバイスにインストールしたアプリケーションを正常に起動するためには下記が必要です。
– バンドルIDがApp IDと合致していること
– 署名が配布用証明書と合致していること
– デバイスがアドホックプロビジョニングプロファイルに登録されていること
**# Xcodeのビルド
** Xcodeはビルド処理の際、署名IDを使って署名を施します。この署名IDの実体は公開鍵/秘密鍵の組で、Appleが発行します。
秘密鍵はキーチェーンに保存され、暗号プログラムが署名を生成するために使います。証明書には公開鍵が収容されており、これを公開した者が、鍵ペアの所有者である旨を証明できます。
中間証明書もキーチェーンに登録して、上記の証明書の発行元が認証局である旨を証明するために使います。
アプリケーションに署名を施すためには、署名IDと中間証明書の両方を、キーチェーンに登録しておく必要があります。
Appleの中間証明書は、Xcodeをインストールする際、自動的にキーチェーンに追加されるので、署名IDのみ別途作成すればよいことになります。
**# iOS Dev Center チームの役割と権限
** iOS Dev Centerのチーム、メンバーと、iTunes Connectのチーム、メンバーは異なりますので注意してください。
## チームエージェント
チームエージェントは法律的にチームを代表し、Appleとの第一義的な連絡窓口になります。また、チームメンバーを加え、それぞれの権限レベルを変更できます。チームエージェントは1人に限ります。
チームメンバーの開発用証明書やデバイスは、チームエージェントが承認しなければ、チームプロビジョニングプロファイルに追加できません。
## チーム管理者
チーム管理者は、チームエージェントを除く他のチームメンバーの権限レベルを設定できます。アプリケーションに署名するためのアセットを管理します。開発段階か、配布できる状態になった段階かを問いません。開発用デバイス以外でも動作するような形で署名できるのは、チーム管理者に限ります。また、チームメンバーからの署名証明書要求を承認する権限もあります。
## チームメンバー
チームメンバーは、Appleがメンバーセンターで配布する、一般には未公開の情報にアクセスできます。また、開発中のアプリケーションに署名できます。ただし、開発用署名証明書を要求し、チーム管理者が承認した後に限ります。
**# iTunes Connectについて
** iTunes Connectは、デベロッパ向けのWebベースのツールスイートであり、AppStoreまたはMacAppStoreで販売するアプリケーションの登録や管理を行うことができます。
ストアのコンテンツ、書類、および連絡先情報全体を整理し、情報を簡単に見つけて内容に追加できるようにします。
また、iTunes Connectは、Appleから送信された状態の情報、フィードバック、および売上情報も収集します。これはつまり、1つの場所からアプリケーションの販売状況を管理できるということです。
iTunes Connectのユーザおよび役割はApple Developer Programのメンバーシップおよび役割とは異なります。
組織のApple Developer Programのメンバーであっても、iTunes Connectへのアクセス権が自動的に付与されるわけではありません。Apple Developer ProgramでAdminの役割を持つメンバーであっても、iTunes ConnectでのAdminの役割が自動的に割り当てられるわけではありません。
## 注意
同じAppleIDを、メンバーセンターにおける複数のチームに対応づけることも可能です。同じAppleIDで、個人として加入する、あるいは他のチームに参加することも可能です。
ただし、iTunes Connectのチームには、1つしか対応づけることができません。したがって、iTunes Connectで独立に管理する他の個人/会社のアカウントに対しては、別にAppleIDを用意する必要があります。
**## ユーザーの役割