デバイス上でアプリを起動
すべての iOS、tvOS、watchOS アプリはコード署名され、デバイス上で起動するようにプロビジョニングされていなければなりません。ある種のアプリサービスを使用する Mac アプリも、起動するのにコード署名がされていなければなりません。プロビジョニング は、デバイス上で起動し、アプリ・サービスを使用するためアプリを準備し、構成するプロセスです。Xcode は、あなたがチームに Xcode のプロジェクトを割り当てるか、またはあなたのアプリに初めて機能を追加する時、チームのプロビジョニングプロファイルを作成するためにあなたが提供した情報を使用します。たとえば、Xcode はあなたの開発証明書を自動的に作成し、あなたの Mac に接続されているデバイスを登録します。Xcode は、デバイスに最終的にインストールされているプロビジョニングプロファイルを作成するために、この情報を使用します。iOS、tvOS、watchOS アプリの場合、Xcode はプロビジョニングプロファイル内にデバイスがある場合、そのデバイス上でアプリを実行します。同様に、特定のアプリ・サービスを使用する Mac のアプリは Mac がプロビジョニングプロファイルにある場合にのみ起動します。
無料の Apple ID アカウントを使用して、デバイス上であなたのアプリを起動できますが、あなたのアプリに利用可能な機能は、サポートされている機能 で説明したように、プラットフォームと、あなたの Apple デベロッパプログラムメンバーシップに依存します。
ヒント: アプリを配布するときに、後で問題を回避するには、実際のデバイス上でアプリの実行をテストする必要があります。Xcode で作成して実行するには、Xcode でのテスト をお読みください。Xcode のデバッグツールの詳細については、Xcode でのデバッグ をお読みください。インストルメントを使った詳細な分析とプロファイリングを行うには、インストルメントユーザーガイド をお読みください。
Mac のアプリを起動
Mac アプリを起動するには、プロジェクトナビゲータで[実行(Run)] ボタンをクリックします。署名 ID が[なし(None)] に設定されている場合、Xcode はアプリを起動します。そうでなければ、Xcode は Mac を登録して、アプリを起動する前に、チームプロビジョニングプロファイルに追加します。プロンプトが現れ、キーチェーン内のキーを使用してアプリに署名できるかどうかを尋ねたら、[常に許可(Always Allow)] をクリックして下さい。
デバイス上でアプリの起動(iOS、tvOS、watchOS)
あなたが以前に自分のコード署名 ID とチームプロビジョニングプロファイルを作成した場合は、チーム・プロビジョニング·プロファイルの作成 で説明したように、デバイス上でアプリを起動するには、いくつかの手順が必要です。それ以外の場合、Xcode は、あなたのアプリを起動するプロセスにコード署名の問題を解決するように、一連のダイアログと警告が表示されることがあります。
デバイス上でアプリを起動するには
- Mac に、デバイスを接続します。
- プロジェクトナビゲータで、スキームツールバーメニューからデバイスを選択します。
- [実行(Run)] ボタンをクリックします。
- codedesign が、キーチェーン内のキーを使用してアプリに署名できるかどうかを尋ねるプロンプトが表示された場合は、[常に許可(Always Allow)] をクリックして下さい。
Xcode は、開発のために選択されたデバイスを使用し、自動的にそれを登録する事を前提にしています。
それが不適格であるため、デバイスが、スキームのツールバーメニューで無効にされている場合は、続ける前にその問題を修正して下さい。不適格なデバイスの下で、それが不適格な理由を読み取るために、デバイスの上にマウスを置きます。例えば、デバイスが展開ターゲットに一致しない場合、デバイス上の OS バージョンをアップグレードするか、(展開情報セクションにある) 展開ターゲットポップアップメニューからターゲットとするバージョンを選択します。次にスキームツールバーメニューからデバイスを選択します。
Xcode は、アプリを起動する前に、デバイス上にアプリをインストールします。
tvOS の注意: メッセージが現れ、Apple TV が活性化されていないことを示す場合は、テレビに Apple TV を接続して、ユーザ設定の手順を実行します。 [デバイス(Devices)] ウィンドウで Apple TV を選択し、もう一度あなたの Macに、Xcode で Apple TV を接続します。警告アイコンと"Apple TV が活性化されていない" のメッセージが消えれば、デバイス上にアプリをインストールし、起動できます。
アプリを開発している間、あなたがサポートする予定の iOS デバイスと iOS のバージョンのすべてで実行して、テストして下さい。さまざまなインストルメントがシミュレータで利用可能であるため、あなたのアプリを配布する前に、インストルメントやその他のツールを使用して、シミュレータであなたのアプリをテストして下さい。あなたのアプリをテストするためのデバイスシミュレータの使用方法の詳細については、シミュレータユーザーガイド をお読みください。
スキームメニューからデバイスを削除(iOS, tvOS, watchOS)
Xcode が、接続されたデバイスを無視して欲しい場合、Xcode がチームのプロビジョニングに追加して欲しくない場合、[スキーム(Scheme)] メニューから削除してください。
スキームメニューからデバイスを削除するには
- お使いの Mac にデバイスを接続します。
- Xcode で、[ウィンドウ(Window)] > [デバイス(Devices)] を選択し、[デバイス(Devices)] の下にあるデバイスを選択します。
- [デバイス] ウィンドウの左下隅の、[アクション] ボタン([追加(+)] ボタンの右側にある歯車のアイコン)をクリックします。
- ポップアップメニューから"実行目的先メニューで表示(Show in Run Destination Menu)" の選択を解除します。
プロジェクトエディタで、デバイスは、スキームメニューから消えます。
デバイスからアプリを削除(iOS、tvOS、watchOS)
デバイス上でアプリを起動すると、Xcode は、デバイス上にアプリをインストールします。後で、Xcode の[デバイス(Devices)] ウィンドウを使用してデバイスからアプリを削除できます。
デバイスからアプリを削除するには
- お使いの Mac にデバイスを接続します。
- [ウィンドウ] > [デバイス(Devices)] を選択し、[デバイス(Devices)] の下にあるデバイスを選択します。
- [アプリ(Apps)] のセクションで、表からアプリを選択して表の左下隅にある[削除(-)] ボタンをクリックします。
- 表示されるダイアログで、[削除(Delete)] をクリックします。
手順の確認
どのように Xcode がアプリのプロビジョニングをするかの詳細については、会員センター 内のチームプロビジョニングプロファイルを調べて下さい。デバイスや Mac が登録され、チームのプロビジョニングプロファイルに追加されたことを確認できます。
お使いのデバイスが登録されていることを確認するには
- 証明書、ID とプロファイルで、デバイスを選択します。
- [デバイス]の下にある、[すべて(All)] を選択します。
登録したデバイスは、リストで有効になって表示されます。有効になったデバイスは、黒のテキストで表示され、無効なデバイスは、グレーのテキストで表示されます。
お使いのデバイスが、チームのプロビジョニングプロファイルに追加されていることを確認するには
- 証明書、ID とプロファイルで、プロビジョニングプロファイルを選択します。
- [プロビジョニングプロファイル] セクションの下で、[すべて(All)] を選択します。
- チームのプロビジョニングプロファイルをクリックすると、その詳細が表示されます。
テキスト "iOS Team Provisioning Profile" や "Mac Team Provisioning Profile" で始まるチームのプロビジョニングプロファイルは、iOS プロビジョニングプロファイルや Mac プロビジョニングプロファイルの下に表示されます。
チームのプロビジョニングプロファイルはアプリ ID を含みます- 例えば、iOS アプリの場合 (Xcode の iOS ワイルドカードアプリ ID) または Mac アプリ用 (Xcode の Mac ワイルドカードアプリ ID)。下のスクリーンショットは iOS プロビジョニングプロファイルを示しています。
アプリ ID の下にリストされているのは、プロビジョニングプロファイルに含まれる開発証明書とデバイスの数です。その値は、アカウントに含まれている開発証明書と有効なデバイスの合計数と一致します。あなたが個人の場合は、一つの開発証明書だけを持っているでしょう。
トラブルシューティング
アプリがデバイス上で実行できない場合、いくつかの理由が考えられます。
- デバイスがスキームツールバーメニューに不適格と表示される場合は、続ける前にこの問題を修正して下さい。
- 警告やエラーメッセージが、プロジェクトエディタの[一般(General)] ペインでチームのポップアップメニューの下に表示された場合は、チーム・プロビジョニング·プロファイルの作成 の手順に従ってこの問題を修正してください。
- 機能の追加 を読んで、[機能(Capabilities)] ペインでの同様のプロビジョニングのエラーを修正して下さい。
不適格なデバイスの下で、それが何故不適格か読むために[デバイス] の上にマウスポインタを置きます。
この章の手順に従って検証すると仮定するには、Xcode プロジェクトの設定を確認してください。あなたのプロジェクトの構成は、お使いのデバイスの構成と一致しない場合があります。
- iOS の展開ターゲットが、デバイスにインストールされた iOS ソフトウェアのバージョンと同じ以下であることを確認するには、展開ターゲットの設定 をお読み下さい。
チームのプロビジョニングプロファイルをより詳しく
チームのプロビジョニング・プロファイル は、Xcode があなたのために管理する、開発プロビジョニングプロファイルです。開発プロビジョニングプロファイルは、アプリがデバイス上で起動して、開発中に特定のアプリ・サービスを使用できるようにします。個人の場合は、チームのプロビジョニングプロファイルは、あなたによって署名されたすべてのアプリが、登録した全てのデバイスで実行することを許可します。会社の場合、チームのプロビジョニングプロファイルは、チームが開発した すべての アプリが、チームメンバーの 誰にでも 署名され、チームの どの デバイスにでもインストールできます。
チームのプロビジョニングプロファイルは以下の物を含みます。
- チームの全てのアプリに一致する ワイルドカードアプリ ID または一つのアプリに一致する 明示的なアプリ ID
- チームに関連付けられているすべてのデバイス
- チームに関連付けられているすべての開発証明書
アプリの構成および機能に応じて、必要に応じて Xcode はアプリ ID とチームのプロビジョニングプロファイルを作成します。Xcode は、チームのプロビジョニングプロファイルにすべてのチームメンバーからの全てのデバイスと開発証明書を追加します。そのあと、デバイスを登録し、開発用証明書を作成し、アプリ ID を変更するたびに、Xcode は、チームのプロビジョニングプロファイルを更新します。(会員センターを使用して、チームの資産に加えた変更は、自動的にはチームのプロビジョニング·プロファイルを更新しません。)
もし、アプリがワイルドカードアプリ ID を開発中使用できれば、Xcode は ワイルドカードアプリ ID を含むチームのプロビジョニングプロファイルを作成します。例えば、iOS Team Provisioning Profile:* と言う名前か、Mac Team Provisioning Profile:* と言う名前のチームプロビジョニングプロファイルを、ワイルドカードアプリ ID を使用してまた作成します。アプリ・サービスのサブセットで、ワイルドカードアプリ ID を使用できます。しかし、明示的なアプリ ID を必要な機能を追加した場合、例えば、iCloud、ゲームセンター、またはアプリ内購入のような場合は、Xcode は 明示的なアプリ ID および対応するチームのプロビジョニングプロファイルを作成します。例えば、iOS Team Provisioning Profile: または Mac Team Provisioning Profile: という、バンドル ID が続く、チームのプロビジョニングプロファイルを作成します。明示的なアプリ ID は正確にプロジェクトのバンドル ID と一致するため、バンドル ID ごとに1つの明示的なアプリ ID を登録することができます。そのため、一つが既に会員センターに存在する場合は、Xcode は一つを作る代わりに、チームのプロビジョニングプロファイル内でそれを使用します。
下の図は、三人のチームメンバーと会社のワイルドカードアプリ ID を使用する iOS のチームプロビジョニングプロファイルを示しています。
下の図は、Mac アプリを開発している会社のために明示的なアプリ ID を使用する Mac のチームプロビジョニングプロファイルを示しています。
総括
この章では、デバイス上でアプリを起動するため Xcode が作成し、管理する、チームのプロビジョニングプロファイルを使用する方法を学びました。Xcode が、チームプロビジョニングを作成するのに必要な情報、Xcode がデバイスを登録したことを確認する方法、および Xcode がエラーや警告を表示している場合のトラブルシューティング方法を知りました。
前の章
次の章