ID、デバイス、プロファイルの管理

開発者アカウントでは、アプリケーションのコード署名に用いるID、デバイス、プロファイルを管理し、アプリケーションをデバイス上で起動できるようにし、特定のアプリケーションサービスを利用可能にすることができます。Xcodeは開発期間を通して、このようなアセットを生成、管理します。テスト用に配布できる状態になって以降、一部のアセットは開発者アカウントで管理することになります。たとえば、独自の開発用プロビジョニングプロファイルを作成し、テストに用いるデバイスを一括登録することも可能です。この章では、ID、デバイス、プロファイルを管理するための、さまざまな作業について説明します。

Website Push IDの使い方については『Notification Programming Guide for Websites』を参照してください。

App IDを登録する

App IDには、複数のアプリケーションに合致するワイルドカード型と、あるバンドルIDに正確に合致する特定型の2種類があります。アプリケーションサービスをApp IDに対して有効にすると、1つまたは複数のアプリケーションで利用できるサービスのホワイトリストに登録されます。アプリケーションが実際に利用するサービスは、Xcodeプロジェクトで設定します。アプリケーションサービスを有効にする手続きは、App IDを生成する時点で行うほか、後でこの設定を変更しても構いません。特定App IDは、最初からGame CenterおよびIn-App Purchaseが有効になっています。

多くの場合、何らかの技術やサービスをアプリケーションに組み込む時点でXcodeが生成する(「技術やサービスを組み込む」を参照)、ワイルドカード型または特定型のApp IDがあれば、開発、テスト、配布には充分です。特定App IDはアプリケーションごとに1つしかないので、既に生成済みであれば、Xcodeはこれを使ってチームプロビジョニングプロファイルを生成します。

App IDを登録するには

  1. developer.apple.com/accountにサインインし、「Certificates, Identifiers & Profiles」をクリックします。

  2. 「Identifiers」以下の「App IDs」を選択します。

  3. 右上隅にある「Add」ボタン(「+」の表示)を押します。

  4. App IDの名前または説明を「Description」フィールドに入力します。

    ../Art/13_createappID_2_2x.png../Art/13_createappID_2_2x.png
  5. 特定App IDを生成するのであれば、「Explicit App ID」をオンにし、「Bundle ID」欄にバンドルIDを入力してください。

    これはビルドするアプリケーションのバンドルID(たとえば「com.example.ajohnson.adventure」)と完全に一致するものです。アスタリスク(*)を含めることはできません。

    ../Art/13_createappID_4_2x.png

    Xcodeで、ターゲットの「Summary」ペインにバンドルIDを入力した場合、ここで入力するApp IDは、バンドルIDと合致したものでなければなりません。

  6. ワイルドカードApp IDを生成する場合は、「Wildcard App ID」をオンにし、「Bundle ID」欄にバンドルIDのサフィックスを入力してください。

  7. 有効にしたいアプリケーションサービスに対応するチェックボックスをオンにします。

    ワイルドカードApp IDを選択した場合、特定App IDを要する技術に対応するチェックボックスはオフになっています。それ以外はいずれも、デフォルト値はオンです。

    ../Art/13_createappID_3_2x.png
  8. 「Continue」をクリックします。

  9. 登録情報を確認し、「Register」を押します。

  10. 「Done」を押してください。

App IDを編集する

App IDは、開発者アカウントを使って直接編集できます。

既存のApp IDに対してアプリケーションサービスを有効にするには

  1. developer.apple.com/accountにサインインし、「Certificates, Identifiers & Profiles」をクリックします。

  2. 「Identifiers」以下の「App IDs」を選択します。

  3. 設定を変更しようとするApp IDを選択し、「Edit」を押してください。

  4. 有効にしたいアプリケーションサービスに対応するチェックボックスをオンにします。

    ../Art/13_enable_technologies_2x.png../Art/13_enable_technologies_2x.png
  5. 警告ダイアログが現れた場合は「OK」を押してください。

    後でこのApp IDを使うプロビジョニングプロファイルを生成し直すことになります。

  6. 「Done」を押してください。

開発者アカウントに「設定可能」と表示されているアプリケーションサービスを完全に有効にする手順については、「技術やサービスを組み込む」を参照してください。

App IDを削除する

不要になったApp IDは削除して構いません。ただし、iTunes Connectにアップロードするアプリケーションの特定App IDを削除することはできません。

App IDを削除するには

  1. developer.apple.com/accountにサインインし、「Certificates, Identifiers & Profiles」をクリックします。

  2. 「Identifiers」以下の「App IDs」を選択します。

  3. 削除するApp IDを選択して「Edit」をクリックします。

    ../Art/13_deleting_appIDs_2x.png../Art/13_deleting_appIDs_2x.png
  4. ページの一番下までスクロールして「Delete」をクリックします。

  5. 表示されるダイアログの内容に目を通した上で「Delete」をクリックします。

このApp IDが設定されたプロビジョニングプロファイルは無効になります。プロビジョニングプロファイルに設定されたApp IDを変更する(「開発者アカウントでプロビジョニングプロファイルを編集する」を参照)か、または削除してください。

チームIDを調べる

チームIDを調べる必要が生じることもあります。たとえば、他の開発者からアプリケーションの所有権を送ってもらう場合、iTunes Connectでの送信先を示すチームIDを知らせる必要があります。チームIDはAppleが生成する10字の一意的な文字列で、チームに対して割り当てられます。どのような文字列かは、開発者アカウントで調べることができます。

チームIDを調べるには

  1. developer.apple.com/accountにサインインし、サイドバーの「Membership」をクリックします。

    するとチームIDが、「Membership Information」セクション内、チーム名の行の下に表示されます。

開発者アカウントでデバイスを登録する

開発者アカウントでは、必要に応じて個別にデバイスを登録するほか、各デバイスの情報を記述したファイルをアップロードすることにより、一括して登録することも可能です。登録可能なデバイスの数は、1年ごとに製品ファミリーにつき100台までとなっています。何台か登録を解除しても(「開発者アカウントでデバイスの有効/無効を切り替える」を参照)、その年内は登録済み数が減りません。

デバイスIDを調べる

デバイスを登録するためには、その名前とデバイスIDが必要です。Xcodeがインストール済みか否かに応じて、デバイスIDの調べ方は何通りかあります。

XcodeでデバイスIDを調べる

チームメンバーは、Xcodeの「Devices」ウィンドウで該当するデバイスを選択し、デバイスIDを調べることができます。

XcodeでデバイスIDを調べるには

  1. 「Window」>「Devices」コマンドを実行してください。

  2. iOS/tvOSアプリケーションの場合、デバイスをMacに接続します。watchOSアプリケーションについては、Apple WatchとペアリングしたiPhoneを接続します。

  3. 「Devices」ウインドウの「Devices」から該当するデバイスを選択します(自分のMacもデバイスと見なします)。

    デバイスIDが「Identifier」フィールドに表示されます。

    ../Art/11_deviceid_2x.png

iTunesでiOSデバイスIDを調べる(iOS、tvOS)

iOSデバイスについては、iTunesでデバイスIDを調べることも可能です。たとえばテスト担当者は、Xcodeがない環境でも、以下の手順により、iTunesでデバイスIDを調べることになります。

iTunes上でiOSデバイスIDを調べるには

  1. Mac上でiTunesを起動します。

  2. デバイスをMacに接続します。

  3. 右上隅で該当するデバイスを選択します。

  4. 「Summary」ペインで、「Capacity」または「Phone Number」の下にある(iOSの場合)、「Serial Number」というラベルをクリックしてください。

    ラベルが「Serial Number」から「UDID」に変わり、デバイスIDが表示されます。

    ../Art/13_itunesgetdeviceid_2x.png
  5. Controlキーを押しながら該当するIDをクリックし、ショートカットメニューから「Copy」を選択して、デバイスIDをコピーします。

  6. その後、文書や電子メールの本文に、デバイスIDの文字列を貼り付けてください。

「System Information」でデバイスIDを調べる(iOS、tvOS、Mac)

「System Information」アプリケーションでデバイスIDを調べることができます。たとえば開発に使っていないMacをテスト用に登録するときには、この方法で調べるとよいでしょう。

「System Information」でMacのデバイスIDを調べるには

  1. 「System Information」アプリケーション(/Applications/Utilitiesフォルダ以下)を起動します。

  2. 左の列から「Hardware」を選択してください。

    デバイスID(あるいはハードウェアUUID)は、「Hardware Overview」ペインの下の方に表示されます。「XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX」という形式の文字列です。

この方法は、Xcodeを使わずにiOS/Apple TVデバイスのデバイスIDを収集するためにも有用です。

「System Information」で接続されたデバイスのIDを調べるには

  1. デバイスをMacに接続します。

  2. 「System Information」アプリケーション(/Applications/Utilitiesフォルダ以下)を起動します。

  3. 左列の「Hardware」以下にある「USB」を選択してください。

  4. 右側の「USB Device Tree」以下で、接続されたデバイスを選択してください。

    デバイスIDまたは「シリアル番号」が下に表示されます。

個々のデバイスを登録する

開発者アカウントでデバイスを登録するためには、あらかじめデバイス名とデバイスIDを調べておく必要があります。

個別にデバイスを登録するには

  1. developer.apple.com/accountにサインインし、「Certificates, Identifiers & Profiles」をクリックします。

  2. 「Devices」以下の「All」を選択してください。

  3. 右上隅にある「Add」ボタン(「+」の表示)を押します。

  4. 「Register Device」を押してください。

  5. デバイス名とデバイスID(UUID)を入力します。

    ../Art/13_ios_adddevice_onportal_2x.png../Art/13_ios_adddevice_onportal_2x.png
  6. ページの下までスクロールし、「Continue」を押します。

  7. 登録情報を確認し、「Register」を押します。

デバイスを一括登録する

多数のテストデバイスを登録する場合、デバイス名とデバイスIDを列挙したファイルを用意し、開発者アカウントにアップロードする、という方法もあります。記述方法には、拡張子「.deviceids」のプロパティリスト形式と、プレーンテキスト形式の2通りがあります。登録するデバイスにアクセスできるか否か、に応じて選択してください。

プロパティリスト形式のデバイスファイルをApple Configuratorで作成する

テスト用デバイスにアクセスできるのであれば、Apple Configuratorを使って、デバイスの名前とIDを記述した、プロパティリスト形式のファイルを生成できます。Mac App StoreからApple Configuratorをダウンロードします。

プロパティリスト形式のデバイスファイルを作成するには

  1. Apple Configuratorを起動し、「Actions」>「Export」>「Info」を実行してください。

  2. 「List of Device Identifiers for Developer Portal」を選択し、「Export」を押します。

    ../Art/13_apple_configurator_2x.png
  3. ファイル名と保存先の場所を指定し、「Save」を押してください。

    ファイルの拡張子は「.deviceids」となります。

プレーンテキスト形式でデバイス登録ファイルを作成する

テスト用デバイスにアクセスできない場合、デバイス名とデバイスIDを別の手段で収集し、.txtファイルを作成してください。各行に、デバイスIDとデバイス名を、タブで区切って記述します。なお、1行めは読み飛ばされるので、見出し行として使って構いません。

デバイス登録ファイルをアップロードする

どちらの形式のデバイス登録ファイルも、開発者アカウントで、同じ手順でアップロードできます。

デバイスを一括登録するには

  1. 「Certificates, Identifiers & Profiles」で、Macアプリケーションの場合は、左側のポップアップメニューから「OS X」を選択します。

  2. 「Devices」以下の「All」を選択してください。

  3. 右上隅にある「Add」ボタン(「+」の表示)を押します。

  4. 「Register Multiple Devices」をオンにしてください。

  5. 「Choose File」を押してください。

    ../Art/13_ios_addmultidevices_onportal_2x.png
  6. アップロードするデバイス登録ファイルを選択し、「Choose」を押してください。

    先に用意した、拡張子が「.deviceids」または「.txt」のファイルを指定します。

  7. 「Continue」をクリックします。

  8. 登録情報を確認し、「Submit」を押します。

プレリリース版をiOS/Apple TVデバイスにインストールする

事前にインストールしようとするプレリリース版をApple Developerからダウンロードしておいてください。

プレリリース版を開発用デバイスにインストールするには

  1. デバイスをMacに接続します。

  2. iTunesの左上隅から該当するデバイスを選択します。

    Apple TVデバイスの場合、iTunesにデバイスが現れなければ、復旧モードにしてください。

  3. 「Summary」ペインで、Optionキーを押しながら「Restore iPhone/iPad/iPod」ボタンまたは「Restore Apple TV」ボタンを押してください。

  4. プレリリース版ソフトウェアのリストアイメージを選択し、「Open」を押してインストールを開始します。

  5. インストール終了後、デバイスをアクティブ化し、その内容をiTuneから復元してください。

開発者アカウントでデバイスの有効/無効を切り替える

開発者アカウントで、デバイスの有効/無効を切り替えることはできますが、削除はできません。今後、開発やテストに使わないデバイスは、無効にすることができます。しかしこれは、そのデバイスの設定を収容しているプロビジョニングプロファイルを無効にするだけであり、年度内に使えるデバイス総数が増えるわけではありません。また、いったん無効にしたデバイスを有効にすることも可能です。

デバイスを無効に/有効にするには

  1. developer.apple.com/accountにサインインし、「Certificates, Identifiers & Profiles」をクリックします。

  2. 「Devices」以下の「All」を選択してください。

  3. 無効に/有効にするデバイスを選択します。

  4. 「Enable」または「Disable」を押してください。

    ../Art/13_disable_device_2x.png../Art/13_disable_device_2x.png
  5. するとダイアログが現れるので、再び「Enable」または「Disable」を押します。

デバイスを無効にした後、無効になったチームプロビジョニングプロファイルを再生成する手順については、「Xcode上でプロビジョニングプロファイルをダウンロードする」を参照してください。無効になったデバイスを、独自に管理している他のプロビジョニングプロファイルから削除する手順は、「開発者アカウントでプロビジョニングプロファイルを編集する」を参照してください。

Xcode上でデバイスを有効にすることも可能です。iOSアプリケーションの場合は、プロジェクトエディタの「Scheme」ツールバーメニューで選択されている接続済みデバイスがXcodeで自動的に登録されます。Macアプリケーションであれば、Xcodeが動作しているMacが自動的に登録されます。デバイスやMacが既に登録済みであれば、無効であってもXcodeが有効にします。

デバイスを無効にしても、古い版のプロビジョニングプロファイルがインストールされていれば、アプリケーションが動作することがあります。古いプロビジョニングプロファイルを削除する手順については、「デバイス上でプロビジョニングプロファイルを確認して削除する」を参照してください。

デバイス上のアプリケーションを管理する

「Devices」ウインドウで、iOS/tvOSデバイスにインストールされている各アプリケーションを管理できます。まず、デバイスをMacに接続し、「Window」>「Devices」の順に選択した後、「Devices」から該当するデバイスを選択します。iOS/tvOSアプリケーションの場合、デバイスをMacに接続します。watchOSアプリケーションについては、Apple WatchとペアリングしたiPhoneを接続します。

からアプリケーションを削除する

デバイス上のアプリケーションに関連したデータファイルをすべて削除するには、該当するデバイスからアプリケーションを削除します。この操作は、アプリケーションの初回起動時にのみ実行されるコードをテストする目的で行っても構いません。Xcode上で削除できるのは、自分が作成したアプリケーションのみです。システムに組み込まれたアプリケーションや他社製のアプリケーションをXcodeで削除することはできません。

アプリケーションをデバイスから削除するには

  1. 「Installed Apps」テーブルで、アプリケーションを選択して、下部にある「Delete」ボタン(「–」の表示)をクリックします。

  2. 表示されるダイアログ、「Delete」ボタンをクリックします。

デバイスでアプリケーションコンテナを表示、ダウンロード、置換する

iOSデバイス上のアプリケーションコンテナのファイル構造はXcodeで直接表示できますが、ファイルの内容は表示できません。

アプリケーションコンテナの内容を表示するには

  1. 「Installed Apps」にあるリストから該当するアプリケーションを選択します。

  2. 「Action」メニュー(「Delete」ボタンの右にある歯車アイコン)から「Show Container」を選択します。

    ../Art/13_devices_action_menu_2x.png
  3. 「Done」をクリックします。

アプリケーションコンテナに含まれるファイルを確認または変更するには、該当するファイルをファイルシステムにダウンロードします。アプリケーションコンテナの内容を分析すると、問題を診断する場合や細部を調整する場合に役立つ重要な情報が得られることがあります。

アプリケーションコンテナの内容をダウンロードするには

  1. 「Installed Apps」にあるリストから該当するアプリケーションを選択します。

  2. 「Action」ポップアップメニューから「Download Container」を選択します。

  3. 「Save As」テキストフィールドにファイル名を入力して「Save」をクリックします。

特定の状態にあるアプリケーションをテストする場合は、デバイス上のアプリケーションコンテナを置き換えます。

デバイス上のアプリケーションコンテナを置き換えるには

  1. 「Installed Apps」にあるリストから該当するアプリケーションを選択します。

  2. 「Action」メニューから「Replace Container」を選択します。

  3. ファイルピッカーからコンテナを選択して「Open」をクリックします。

開発者アカウントでプロビジョニングプロファイルを生成する

開発者アカウントでは、開発用と配布用のどちらのプロビジョニングプロファイルも生成できます。

チームプロビジョニングプロファイルはXcodeが生成、管理するので、開発用プロビジョニングプロファイルを独自に生成しなければならないのは、特定のチームメンバーやデバイスに、アプリケーション開発を制限したい場合のみです。開発用プロビジョニングプロファイルを独自に作成する場合は、「開発用プロビジョニングプロファイルを作成する」の手順に従ってください。

アプリケーションのアーカイブをエクスポートして、アドホック配備オプションを選択すると、XcodeでiOSアドホックプロビジョニングプロファイルが作成されます(「ストアを通さず、テスト用にアプリケーションをエクスポートする」を参照)。アドホックプロビジョニングプロファイルを開発者アカウントで直接作成する場合は、「アドホックプロビジョニングプロファイルを作成する(iOS、tvOS、watchOS)」を参照してください。

同様に、アプリケーションをストアに登録すると、Xcodeでストアプロビジョニングプロファイルが作成されます。ストアプロビジョニングプロファイルを開発者アカウントで直接作成する場合は、「ストアプロビジョニングプロファイルを作成する」を参照してください。

プロビジョニングプロファイルを作成したら、Xcode上でダウンロードしてください(「Xcode上でプロビジョニングプロファイルをダウンロードする」を参照)。該当するプロビジョニングプロファイルが「Accounts」環境設定画面の詳細表示ダイアログ内の「Provisioning Profiles」テーブルに表示されるはずです。

開発用プロビジョニングプロファイルを作成する

開発用プロビジョニングプロファイルの生成に先立ち、App IDと、必要な数の開発用証明書およびデバイスを用意してください。独自に用意したApp IDを登録する手順については、「App IDを登録する」を参照してください(Xcodeが管理するApp IDを使っても構いません)。開発用証明書を生成する必要があれば、「署名IDを作成する」を参照してください。デバイスの登録が必要な場合は、「開発者アカウントでデバイスを登録する」を参照してください。

開発用プロビジョニングプロファイルを作成するには

  1. developer.apple.com/accountにサインインし、「Certificates, Identifiers & Profiles」をクリックします。

  2. 「Provisioning Profiles」以下の「All」を選択します。

  3. 右上隅にある「Add」ボタン(「+」の表示)を押します。

  4. 「Development」以下で、作成しようとするプロビジョニングプロファイルの種類を選択し、「Continue」を押してください。

    • iOS/watchOSアプリケーションの場合は「iOS App Development」を選択します。

    • tvOSアプリケーションならば「tvOS App Development」です。

    • Macアプリケーションであれば「Mac App Development」を選んでください。

    ../Art/13_ios_createdevelopmentprofile_1_2x.png../Art/13_ios_createdevelopmentprofile_1_2x.png
  5. 開発に使うApp IDを選択し、「Continue」を押します。

  6. 開発用証明書(複数可)を選択し、「Continue」を押します。

  7. デバイス(複数可)を選択し、「Continue」を押します。

  8. プロファイル名を入力し、「Generate」を押します。

  9. 「Done」を押してください。

アドホックプロビジョニングプロファイルを作成する(iOS、tvOS、watchOS)

アドホックプロビジョニングプロファイルを作成すると、テスト担当者はXcodeを使わずにデバイス上でアプリケーションを実行できるようになります。作成の際には、App IDと配布用証明書、そして実際にテストに使うデバイス群を指定します。

アドホックプロビジョニングプロファイルを作成するには

  1. developer.apple.com/accountにサインインし、「Certificates, Identifiers & Profiles」をクリックします。

  2. 「Provisioning Profiles」以下の「All」を選択します。

  3. 右上隅にある「Add」ボタン(「+」の表示)を押します。

  4. 配布方法として「Ad Hoc」または「tvOS Ad Hoc」を選択し、「Continue」を押してください。

    ../Art/6_ios_createdistributionprofile_2_2x.png../Art/6_ios_createdistributionprofile_2_2x.png
  5. 開発に使っていたApp ID(バンドルIDと合致するApp ID)を「App ID」ポップアップメニューから選択して「Continue」をクリックします。

    開発中、チームプロビジョニングプロファイルを使っていて、メニューに「XC Wildcard」しか現れていない場合は、これを選択します。Xcodeが管理する別の特定App ID(「XC」で始まり、続いてバンドルIDが記述されている名前)があれば、これになります。独自にApp IDを生成した場合は、それを選択してください。

  6. 実際に使う配布用証明書を選択し、「Continue」を押してください。

    配布用証明書がない場合は、Xcodeを使って作成してから(「署名IDを作成する」を参照)、次に進んでください。

  7. テストに使うデバイス群を選択し、「Continue」を押します。

  8. プロファイル名を入力し、「Continue」を押します。

    ../Art/6_ios_createdistributionprofile_3_2x.png../Art/6_ios_createdistributionprofile_3_2x.png

    プロビジョニングプロファイルが生成されるまで、しばらく待ってください。

  9. ページの一番下にある「Done」をクリックします。

Xcode上で、アドホックプロビジョニングプロファイルをダウンロードしてください(「Xcode上でプロビジョニングプロファイルをダウンロードする」を参照)。該当するアドホックプロビジョニングプロファイルが「Accounts」環境設定画面の詳細表示ダイアログ内の「Provisioning Profiles」テーブルに表示されるはずです。

ストアプロビジョニングプロファイルを作成する

アプリケーションをストアにアップロードする前に、ストアプロビジョニングプロファイルでプロビジョニングを施します。(Macアプリケーションでどのアプリケーションサービスも有効にしない場合は、配布用証明書だけを使ってアプリケーションにコード署名しても構いません。)ストアプロビジョニングプロファイルを作成する際には、デバイスを選択する必要もありません。

ストアプロビジョニングプロファイルを作成するには

  1. developer.apple.com/accountにサインインし、「Certificates, Identifiers & Profiles」をクリックします。

  2. 「Provisioning Profiles」以下の「All」を選択します。

  3. 右上隅にある「Add」ボタン(「+」の表示)を押します。

  4. 配布方法を選択し、「Continue」を押してください。

    • iOS/watchOSアプリケーションの場合は「App Store」を選択します。

    • tvOSアプリケーションならば「tvOS App Store」です。

    • Macアプリケーションであれば「Mac App Store」を選んでください。

  5. 開発に使っていたApp ID(バンドルIDと合致するApp ID)を「App ID」ポップアップメニューから選択して「Continue」をクリックします。

    開発中、チームプロビジョニングプロファイルを使っていて、メニューに「Xcode Wildcard App ID」しか現れていない場合は、これを選択します。Xcodeが管理する特定App ID(「Xcode」で始まり、バンドルIDが含まれる名前)があれば、これになります。独自にApp IDを生成した場合は、それを選択してください。

  6. 配布用証明書を選択し、「Continue」を押してください。

    ストアプロビジョニングプロファイルには、配布用証明書が1つだけ入ります。

  7. プロファイル名を入力し、「Continue」を押します。

    プロビジョニングプロファイルが生成されるまで、しばらく待ってください。

  8. ページの一番下にある「Done」をクリックします。

Xcode上でプロビジョニングプロファイルをダウンロードする

開発者アカウント上で何らかの変更を施しても、自動的にXcodeに反映されるわけではありません。たとえば、開発者アカウントでプロビジョニングプロファイルを生成あるいは編集した場合、Xcode側でもプロビジョニングプロファイルをダウンロードして、変更後の内容を取得する必要があります。同様に、開発用証明書を失効させた場合も、プロビジョニングプロファイルをダウンロードすることにより、Xcodeが管理するチームプロビジョニングプロファイルを再生成しなければなりません。

Xcodeでプロビジョニングプロファイルをダウンロードするには

  1. Xcodeの「Preferences」ウインドウで、「Accounts」を押して表示を切り替えます。

  2. チームを選択して「View Details」を押します。

    ../Art/12_createdistributioncert.shot/Resources/shot_2x.png../Art/12_createdistributioncert.shot/Resources/shot_2x.png
  3. するとダイアログが現れるので、「Provisioning Profiles」テーブルの下、左下隅にある「Download all」ボタンを押してください。

    「Provisioning Profiles」テーブル内のプロファイル一覧が更新されます。

独自のプロビジョニングプロファイルを使用する

場合によっては、Xcodeが管理するチームプロビジョニングプロファイルの代わりに、開発用プロビジョニングプロファイルを独自に用意して使いたいことがあるかも知れません。たとえば、開発作業を一部の開発者のみに限定する、通常とは異なるアプリケーション設定でテストする、などといった状況です。この場合、開発用プロビジョニングプロファイルを生成し(「開発者アカウントでプロビジョニングプロファイルを生成する」を参照)、これを使ってコード署名IDに関するビルド設定を行います。

アプリケーションを構築する際、該当するプロビジョニングプロファイルに収容された証明書に合致する署名IDを使って、コード署名を施す必要があります。「Code Signing Identity」ポップアップメニューには次の選択肢があります。

ビルド設定の「Code Signing Identity」ポップアップメニューには、開発用証明書が収容されたプロビジョニングプロファイルそれぞれに対応する項目が並んでいます。既定値は、「Automatic Profile Selector」メニュー項目に現れる、プラットフォームに対応した開発用証明書で、これは開発用証明書に合致します。メニューに現れる各種の証明書については表14-2を参照してください。

あらかじめ、「Code Signing Identity」ビルド設定を、プロジェクトごと、ターゲットごとのどちらで行うか決めておきます。ターゲットがひとつしかなければ、一貫している限りどちらでも構いません。どのターゲットにも同じコード署名IDを用いる場合は、プロジェクトごとに設定します。一方、ターゲットによってコード署名IDを使い分ける場合は、ターゲットごとに設定してください。プロジェクトごとの設定にすると、たとえば同じプロジェクトで補助アプリケーションをいくつか開発する場合、いずれも主たるアプリケーションと同じ方法でコード署名を施すことになります。

「Provisioning Profile」ビルド設定は開発用プロファイル、「Code Signing Identity」ビルド設定は開発用証明書に施します。

コード署名IDとして開発用証明書を設定するには

  1. Xcodeのプロジェクトエディタ上でターゲットを選択します。

  2. 「Build Settings」ボタンを押します。

  3. 「Build Settings」ペインで、「All」を選択し、検索欄に「code signing」と入力してください。

  4. 「Provisioning Profile」ポップアップメニューから、該当する開発用プロビジョニングプロファイルを選択してください。

    デフォルト値はAutomaticです。

  5. 必要ならば「Code Signing Identity」ポップアップメニューから開発用証明書を選択してください。

    iOSアプリケーションの場合、「Provisioning Profile」メニューから、「iPhone Developer:」の後に自分の名前が続く形の証明書を選択します。Macアプリケーションであれば、「Provisioning Profile」メニューから、「Mac Developer:」の後に自分の名前が続く形の証明書になります。

    ../Art/12_buildsettings_2x.png../Art/12_buildsettings_2x.png

次にアプリケーションをビルドする際に、コード署名が施されます。Macアプリケーションは、「Run」ボタンを押すだけでビルド、実行できます。アプリケーションの場合は、「デバイス上でiOSアプリケーションを起動する(iOS、tvOS、watchOS)」に示す手順に従って署名を施し、デバイス上で実行してください。

後でまたチームプロビジョニングプロファイルを使うときには、「Provisioning Profile」ビルド設定を「None」に変更します。Appleのコード署名技術について詳しくは、『Code Signing Guide』を参照してください。

トラブルシューティング

開発用プロビジョニングプロファイルが「Provisioning Profile」ポップアップメニューに表示されない場合は、プロビジョニングプロファイルをダウンロードしてください(「Xcode上でプロビジョニングプロファイルをダウンロードする」を参照)。この後、「Provisioning Profile」ビルド設定を再試行します。

アプリケーションのビルド時にコード署名のエラーが発生する場合は、ビルド設定「Code Signing Identity」が適切かどうか確認してください。これがプロジェクトごとの設定か、ターゲットごとの設定かも確認します(ターゲットごとの設定が優先)。ビルド設定「Code Signing Identity」に関する障害が発生したときは、「ビルドおよびコード署名に関する問題」も参照してください。

Xcodeで管理されるプロビジョニングプロファイルを移行する

Xcodeにより、コード署名IDおよびプロビジョニングプロファイルの作成と更新が自動的に行われます。ただし、Xcode 4以前で作成したプロジェクトの場合は、「Provisioning Profile」ビルド設定を「Automatic」に設定して、この機能を使用できるようにする必要があります。

Xcodeで管理されるプロビジョニングプロファイルを使用するには

  1. Xcodeのプロジェクトエディタ上でターゲットを選択します。

  2. 「Build Settings」ボタンを押します。

  3. 「Build Settings」ペインで、「All」を選択し、検索欄に「Code Signing」と入力してください。

  4. 「Provisioning Profile」ポップアップメニューから「Automatic」を選択します。

    Xcodeにより、最上位の「Code Signing Identity」ビルド設定が「Don’t Code Sign」に設定され、”Any … SDK”の「Code Signing Identity」ビルド設定が、iOSアプリケーションの場合は「iOS Developer」、Macアプリケーションの場合は「Mac Developer」に設定されます。

必要に応じて、プロジェクトレベルの「Provisioning Profile」ビルド設定を「Automatic」に設定します。プロビジョニングプロファイルのトラブルシューティングを実行する場合は、「プロビジョニングに関する問題」を参照してください。

開発者アカウントでプロビジョニングプロファイルを編集する

プロビジョニングプロファイルの内容を変更したい場合でも、再生成する必要はありません。プロビジョニングプロファイルの種類に応じ、名前その他のプロパティを変更できるのです。種類にかかわらず、App IDは変更可能です。また、iOS/tvOS/watchOSアプリケーションであれば、アドホックプロビジョニングプロファイルにデバイスを追加できます。変更したときは、デバイスに組み込んだプロビジョニングプロファイルも忘れずに置き換えてください。

証明書を再生成したため、プロビジョニングプロファイルを修復しなければならない場合は、「証明書を再生成し、関係するプロビジョニングプロファイルを更新する」に示す手順で操作してください。

プロビジョニングプロファイルを編集するには

  1. developer.apple.com/accountにサインインし、「Certificates, Identifiers & Profiles」をクリックします。

  2. 「Provisioning Profiles」で「All」、「Development」、「Distribution」のいずれかを選択します。

  3. 変更を施すプロビジョニングプロファイルを選択し、「Edit」を押してください。

    ../Art/13_tb_ios_modify_profile1_2x.png../Art/13_tb_ios_modify_profile1_2x.png
  4. 名前を修正する、証明書を追加する、別のデバイス群を登録するなど、必要な変更を施します。

    ../Art/13_tb_ios_modify_profile2_2x.png../Art/13_tb_ios_modify_profile2_2x.png
  5. 「Generate」を押します。

以上が終了したら、Xcode上でプロビジョニングプロファイルをダウンロードしてください(「Xcode上でプロビジョニングプロファイルをダウンロードする」を参照)。

期限切れになったプロビジョニングプロファイルを更新する

プロビジョニングプロファイルが期限切れになると、開発者アカウントには状態が「Expired」と表示されます。これは、「開発者アカウントでプロビジョニングプロファイルを編集する」の手順で編集、再生成することにより、期限を延ばすことができます。プロビジョニングプロファイル自体に変更を施す必要はありません。「Edit iOS Provisioning Profile」ページまたは「Edit Mac Provisioning Profile」ページの末尾までスクロールして「Generate」をクリックするだけです。

期限切れになったプロビジョニングプロファイルがデバイスにインストールされている場合は、削除してください(「デバイス上でプロビジョニングプロファイルを確認して削除する」を参照)。アドホックプロビジョニングプロファイルに置き換えた場合は、これを使ってアプリケーションに署名し直し、再配布してください(「テスト用にアプリケーションをエクスポート(iOS、tvOS、watchOS)」を参照)。

デバイス上でプロビジョニングプロファイルを確認して削除する

Xcodeを使って、プロビジョニングプロファイルがデバイスにインストールされているかどうかを確認するか、期限切れになっているプロビジョニングプロファイルをデバイスから削除します。

プロビジョニングプロファイルを確認または削除するには

  1. iOS/tvOSアプリケーションの場合、デバイスをMacに接続します。watchOSアプリケーションについては、Apple WatchとペアリングしたiPhoneを接続します。

  2. 「Window」>「Devices」の順に選択した後、「Devices」から該当するデバイスを選択します。

  3. 左側の列の一番下にある「Action」ボタン(「Add」ボタンの右にある歯車アイコン)をクリックします。

  4. ポップアップメニューから「Show Provisioning Profiles」を選択します。

    プロビジョニングプロファイルシートが表示されます。

  5. プロビジョニングプロファイルを削除するには、リストから該当するプロビジョニングプロファイルを選択して、左下隅にある「Delete」ボタン(「-」の表示)をクリックします。

    ../Art/13_remove_profile_2x.png
  6. 「Done」をクリックします。

プロビジョニングプロファイルを開発者アカウントから削除する

プロビジョニングプロファイルをチームから削除する必要が生じることもあります。

プロビジョニングプロファイルをチームから削除するには

  1. developer.apple.com/accountにサインインし、「Certificates, Identifiers & Profiles」をクリックします。

  2. 「Provisioning Profiles」以下の「All」を選択します。

  3. 削除しようとするプロビジョニングプロファイルを選択します。

  4. 「Delete」を押してください。

    ../Art/13_ios_delete_profile_2x.png../Art/13_ios_delete_profile_2x.png
  5. 表示される確認ダイアログで「削除」をクリックします。

以上が終了したら、Xcode上でプロビジョニングプロファイルをダウンロードし(「Xcode上でプロビジョニングプロファイルをダウンロードする」を参照)、さらにデバイスから削除してください(「デバイス上でプロビジョニングプロファイルを確認して削除する」を参照)。

開発者アカウントでプロビジョニングプロファイルをダウンロードする

必要ならば、開発者アカウントから直接、プロビジョニングプロファイルを指定してダウンロードできます。

プロビジョニングプロファイルをダウンロードするには

  1. developer.apple.com/accountにサインインし、「Certificates, Identifiers & Profiles」をクリックします。

  2. 「Provisioning Profiles」以下の「All」を選択します。

  3. 該当するプロビジョニングプロファイルを選択します。

  4. 「Download」を押してください。

    プロビジョニングプロファイルの拡張子を「.mobileprovision」に変更した名前のファイルが、「Downloads」フォルダに現れます。

アプリケーションバイナリのエンタイトルメントを検証する

エンタイトルメントには、Xcodeプロジェクトで設定するもの(「App Sandbox」エンタイトルメントなど)と、プロビジョニングプロファイルで設定するものがあります。署名済みアプリケーションのエンタイトルメントが正しいことは、その署名を調べて確認できます。問題がある場合は、バイナリに埋め込まれているプロビジョニングプロファイルを調べてください。

署名済みアプリケーションのエンタイトルメントを確認するには

  1. Xcodeのプロジェクトナビゲータで、プロジェクトを選択します。

  2. プロジェクト名に添えられた詳細表示用の三角印をクリックして、その内容を表示します。

  3. 「Products」の隣にある詳細表示用の三角印をクリックして、アプリケーションバイナリを表示します。

  4. Controlキーを押しながらアプリケーションのバイナリファイルをクリックし、ショートカットメニューから「Show in Finder」を選択して、Finder内のXcodeのビルドの場所に移動します。

    ../Art/13_locateprofileinbinary_1_2x.png
  5. /Applications/Utilitiesにある)「Terminal」を起動し、次のテキストとその後に空白を入力してください(まだReturnキーは押しません)。

    codesign -d --entitlements -
  6. Finder上でアプリケーションバイナリを摑み、「Terminal」上にドラッグします。

  7. Returnキーを押してください。

    たとえばiCloudキー値ストレージを有効にしたiOSアプリケーションの場合、その出力には「com.apple.developer.ubiquity-kvstore-identifier」というエンタイトルメントのキーが含まれています。同様に、App Sandboxを有効にしたMacアプリケーションの出力には、「com.apple.security.app-sandbox」というキーが入っています。

    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
    <plist version="1.0">
    <dict>
        <key>application-identifier</key>
        <string>G9B5P7QDV2.edu.self.HelloWorld</string>
        <key>com.apple.developer.pass-type-identifiers</key>
        <array>
            <string>G9B5P7QDV2.*</string>
        </array>
        <key>com.apple.developer.ubiquity-container-identifiers</key>
        <array>
            <string>G9B5P7QDV2.edu.self.HelloWorld</string>
        </array>
        <key>com.apple.developer.ubiquity-kvstore-identifier</key>
        <string>G9B5P7QDV2.edu.self.HelloWorld</string>
        <key>get-task-allow</key>
        <true/>
    </dict>
    </plist>

アプリケーションのエンタイトルメントが、自分が設定したはずのものと違っている場合は、正しいプロビジョニングプロファイルを埋め込んだかどうか確認してください。まず、埋め込んだプロビジョニングプロファイルを見つける必要があります。

アプリケーションバイナリに埋め込んだプロビジョニングプロファイルを見つけるには

  1. Xcodeのプロジェクトナビゲータで、プロジェクトを選択します。

  2. プロジェクト名に添えられた詳細表示用の三角印をクリックして、その内容を表示します。

  3. 「Products」の隣にある詳細表示用の三角印をクリックして、アプリケーションバイナリを表示します。

  4. Controlキーを押しながらアプリケーションのバイナリファイルをクリックし、ショートカットメニューから「Show in Finder」を選択して、Finder内のXcodeのビルドの場所に移動します。

  5. Finder上で、Controlキーを押しながらアプリケーションのバイナリファイルをクリックし、ショートカットメニューから「Show Package Contents」を選択します。

    iOSアプリケーションであれば、「embedded.mobileprovision」というプロビジョニングプロファイルがFinderのウインドウに現れます。Macアプリケーションの場合は「embedded.provisionprofile」という名前です。

    ../Art/13_locateprofileinbinary_2_2x.png../Art/13_locateprofileinbinary_2_2x.png

埋め込まれているプロビジョニングプロファイルのエンタイトルメントを確認するには

  1. /Applications/Utilitiesにある)「Terminal」を起動し、次のテキストを入力してください(まだReturnキーは押しません)。

    security cms -D -i
  2. Finder上でアプリケーションバイナリ内のプロビジョニングプロファイルを摑み、「Terminal」にドラッグします。

    ../Art/13_verifyentitlementsinapp_1_2x.png
  3. Returnキーを押してください。

    このコマンドの出力は、XML形式のプロパティリストです。

  4. Entitlementsキーを見つけ、application-identifierキーの値が正しいエンタイトルメントであることを確認してください。

    たとえば次に示すのは、データ保護、Wallet、iCloudを有効にしたiOSアプリケーションのものです。iCloudのエンタイトルメントは、先頭が「com.apple.developer.ubiquity」という文字列になっています。

    <key>Entitlements</key>
        <dict>
            <key>application-identifier</key>
            <string>G9B5P7QDV2.*</string>
            <key>com.apple.developer.default-data-protection</key>
            <string>NSFileProtectionComplete</string>
            <key>com.apple.developer.pass-type-identifiers</key>
            <array>
                <string>G9B5P7QDV2.*</string>
            </array>
            <key>com.apple.developer.ubiquity-container-identifiers</key>
            <array>
                <string>G9B5P7QDV2.*</string>
            </array>
            <key>com.apple.developer.ubiquity-kvstore-identifier</key>
            <string>G9B5P7QDV2.*</string>
            <key>get-task-allow</key>
            <true/>
            <key>inter-app-audio</key>
            <true/>
            <key>keychain-access-groups</key>
            <array>
                <string>G9B5P7QDV2.*</string>
            </array>
        </dict>

上記コマンドの他の使い方については、codesignおよびsecurityを参照してください。

まとめ

この章では、証明書やプロビジョニングプロファイルを有効な状態に維持する方法、不要になったアセットを削除する手順を説明しました。証明書やプロビジョニングプロファイルに関して問題が生じた場合は、「トラブルシューティング」を参照してください。