デバイス上でアプリを起動


すべての 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 は、あなたのアプリを起動するプロセスにコード署名の問題を解決するように、一連のダイアログと警告が表示されることがあります。


デバイス上でアプリを起動するには


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

  2. watchOS の注意: お使いの Apple ウォッチとペアリングされている iPhone を Mac に接続して下さい。


  3. プロジェクトナビゲータで、スキームツールバーメニューからデバイスを選択します。
  4. Xcode は、開発のために選択されたデバイスを使用し、自動的にそれを登録する事を前提にしています。


    5_launchappondevice_2x


    それが不適格であるため、デバイスが、スキームのツールバーメニューで無効にされている場合は、続ける前にその問題を修正して下さい。不適格なデバイスの下で、それが不適格な理由を読み取るために、デバイスの上にマウスを置きます。例えば、デバイスが展開ターゲットに一致しない場合、デバイス上の OS バージョンをアップグレードするか、(展開情報セクションにある) 展開ターゲットポップアップメニューからターゲットとするバージョンを選択します。次にスキームツールバーメニューからデバイスを選択します。


  5. [実行(Run)] ボタンをクリックします。
  6. Xcode は、アプリを起動する前に、デバイス上にアプリをインストールします。



    tvOS の注意: メッセージが現れ、Apple TV が活性化されていないことを示す場合は、テレビに Apple TV を接続して、ユーザ設定の手順を実行します。 [デバイス(Devices)] ウィンドウで Apple TV を選択し、もう一度あなたの Macに、Xcode で Apple TV を接続します。警告アイコンと"Apple TV が活性化されていない" のメッセージが消えれば、デバイス上にアプリをインストールし、起動できます。



  7. codedesign が、キーチェーン内のキーを使用してアプリに署名できるかどうかを尋ねるプロンプトが表示された場合は、[常に許可(Always Allow)] をクリックして下さい。

アプリを開発している間、あなたがサポートする予定の iOS デバイスと iOS のバージョンのすべてで実行して、テストして下さい。さまざまなインストルメントがシミュレータで利用可能であるため、あなたのアプリを配布する前に、インストルメントやその他のツールを使用して、シミュレータであなたのアプリをテストして下さい。あなたのアプリをテストするためのデバイスシミュレータの使用方法の詳細については、シミュレータユーザーガイド をお読みください。


スキームメニューからデバイスを削除(iOS, tvOS, watchOS)


Xcode が、接続されたデバイスを無視して欲しい場合、Xcode がチームのプロビジョニングに追加して欲しくない場合、[スキーム(Scheme)] メニューから削除してください。


スキームメニューからデバイスを削除するには


  1. お使いの Mac にデバイスを接続します。
  2. Xcode で、[ウィンドウ(Window)] > [デバイス(Devices)] を選択し、[デバイス(Devices)] の下にあるデバイスを選択します。
  3. [デバイス] ウィンドウの左下隅の、[アクション] ボタン([追加(+)] ボタンの右側にある歯車のアイコン)をクリックします。

  4. 4_removedevicefrommenu_2x


  5. ポップアップメニューから"実行目的先メニューで表示(Show in Run Destination Menu)" の選択を解除します。
  6. プロジェクトエディタで、デバイスは、スキームメニューから消えます。


デバイスからアプリを削除(iOS、tvOS、watchOS)


デバイス上でアプリを起動すると、Xcode は、デバイス上にアプリをインストールします。後で、Xcode の[デバイス(Devices)] ウィンドウを使用してデバイスからアプリを削除できます。


デバイスからアプリを削除するには


  1. お使いの Mac にデバイスを接続します。
  2. [ウィンドウ] > [デバイス(Devices)] を選択し、[デバイス(Devices)] の下にあるデバイスを選択します。
  3. [アプリ(Apps)] のセクションで、表からアプリを選択して表の左下隅にある[削除(-)] ボタンをクリックします。

  4. 5_removeappfromdevice_2x


  5. 表示されるダイアログで、[削除(Delete)] をクリックします。

手順の確認


どのように Xcode がアプリのプロビジョニングをするかの詳細については、会員センター 内のチームプロビジョニングプロファイルを調べて下さい。デバイスや Mac が登録され、チームのプロビジョニングプロファイルに追加されたことを確認できます。




お使いのデバイスが登録されていることを確認するには


  1. 証明書、ID とプロファイルで、デバイスを選択します。
  2. [デバイス]の下にある、[すべて(All)] を選択します。

  3. 登録したデバイスは、リストで有効になって表示されます。有効になったデバイスは、黒のテキストで表示され、無効なデバイスは、グレーのテキストで表示されます。


5_verify_device_ios_2x


お使いのデバイスが、チームのプロビジョニングプロファイルに追加されていることを確認するには


  1. 証明書、ID とプロファイルで、プロビジョニングプロファイルを選択します。
  2. [プロビジョニングプロファイル] セクションの下で、[すべて(All)] を選択します。
  3. テキスト "iOS Team Provisioning Profile" や "Mac Team Provisioning Profile" で始まるチームのプロビジョニングプロファイルは、iOS プロビジョニングプロファイルや Mac プロビジョニングプロファイルの下に表示されます。


    5_ios_profiles_2x


    注意: 追加した機能とアプリの数に応じて、複数のチームプロビジョニングプロファイルを持つことができます。


  4. チームのプロビジョニングプロファイルをクリックすると、その詳細が表示されます。

  5. チームのプロビジョニングプロファイルはアプリ ID を含みます- 例えば、iOS アプリの場合 (Xcode の iOS ワイルドカードアプリ ID) または Mac アプリ用 (Xcode の Mac ワイルドカードアプリ ID)。下のスクリーンショットは iOS プロビジョニングプロファイルを示しています。


    5_ios_teamprofile_2x


    アプリ ID の下にリストされているのは、プロビジョニングプロファイルに含まれる開発証明書とデバイスの数です。その値は、アカウントに含まれている開発証明書と有効なデバイスの合計数と一致します。あなたが個人の場合は、一つの開発証明書だけを持っているでしょう。




トラブルシューティング


アプリがデバイス上で実行できない場合、いくつかの理由が考えられます。


この章の手順に従って検証すると仮定するには、Xcode プロジェクトの設定を確認してください。あなたのプロジェクトの構成は、お使いのデバイスの構成と一致しない場合があります。


チームのプロビジョニングプロファイルをより詳しく


チームのプロビジョニング・プロファイル は、Xcode があなたのために管理する、開発プロビジョニングプロファイルです。開発プロビジョニングプロファイルは、アプリがデバイス上で起動して、開発中に特定のアプリ・サービスを使用できるようにします。個人の場合は、チームのプロビジョニングプロファイルは、あなたによって署名されたすべてのアプリが、登録した全てのデバイスで実行することを許可します。会社の場合、チームのプロビジョニングプロファイルは、チームが開発した すべての アプリが、チームメンバーの 誰にでも 署名され、チームの どの デバイスにでもインストールできます。


チームのプロビジョニングプロファイルは以下の物を含みます。



アプリの構成および機能に応じて、必要に応じて 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 のチームプロビジョニングプロファイルを示しています。


team_provisioning_ios_2x


下の図は、Mac アプリを開発している会社のために明示的なアプリ ID を使用する Mac のチームプロビジョニングプロファイルを示しています。


team_provisioning_mac_2x


総括


この章では、デバイス上でアプリを起動するため Xcode が作成し、管理する、チームのプロビジョニングプロファイルを使用する方法を学びました。Xcode が、チームプロビジョニングを作成するのに必要な情報、Xcode がデバイスを登録したことを確認する方法、および Xcode がエラーや警告を表示している場合のトラブルシューティング方法を知りました。







前の章
次の章

目次
Xcode 9 の新機能
====================
  • アプリの配布について:序文
  • アプリの軽量化(iOS、tvOS、watchOS)
  • スライス(iOS、tvOS)
    ビットコード
    オンデマンド・リソース(iOS、tvOS)
  • アカウントの管理
  • Apple 開発者プログラムについて
    個人または企業としての登録を選択
    複数のチームに参加できます
    Xcode に Apple ID アカウントを追加
    総括
  • 配布用に Xcode のプロジェクトを構成
  • Xcode プロジェクトを作成する際のプロパティの設定
    プロジェクトの構成を開始する前に
  • ID とチーム設定の構成
  • バンドル ID について
    バンドル ID の設定
    署名 ID の選択(Mac)
    チームに Xcode プロジェクトの割り当て
    チーム・プロビジョニング·プロファイルの作成
    アプリのカテゴリの設定(Mac)
    バージョン番号とビルド文字列を設定
  • 展開情報の設定
  • 展開ターゲットの設定
    ターゲット・デバイスの設定(iOS、watchOS)
  • アプリアイコンと起動スクリーンファイルの追加
  • 画像の準備
    アセットカタログにアプリアイコンを追加
    起動スクリーンファイルの作成
    起動イメージの追加とスクリーンショットのキャプチャ
    個々のアプリアイコンと起動イメージファイルを設定
    アセットカタログにイメージを移行
    著作キーの設定(Mac)
  • ビルド設定の確認
  • iOS アプリのアーキテクチャを設定
    ベース SDK を設定する
    デバッグ情報の形式を設定
    総括
  • 機能の追加
  • 資格について
    始める前に
    アプリ・サンドボックスの設定(Mac)
  • iCloud サポートの追加
  • iCloud を有効にする
    キー値の保管の構成
    書類の保管の構成
    CloudKit を使用
    カスタムコンテナの指定
  • プッシュ通知の構成
  • プッシュ通知を有効に
    プッシュ通知クライアントの SSL 証明書の作成
    手順の確認
  • サーバーでクライアントの SSL 署名 ID のインストール
  • ゲームセンターを有効にする(iOS、tvOS、Mac)
    ゲームコントローラを有効にする(tvOS)
    ウォレットの構成 (iOS、WatchKit 拡張機能)
  • Apple ペイの構成 (iOS、WatchKit 拡張機能)
  • アプリ内購入を有効にする(iOS、tvOS、Mac)
    パーソナル VPN を有効にする (iOS、Mac)
  • マップの構成(iOS、WatchKit 機能拡張、Mac)
  • Xcode でマップを有効化
    ルーティングアプリの構成 (iOS、WatchKit 機能拡張)
    ルーティング方向を提供
    iTunes Connect でアプリレコードの作成
    ストアにビルドを提出
    iTunes Connect に地理的範囲ファイルのアップロード
  • 背景モードの構成 (iOS、tvOS、WatchKit アプリ)
  • アプリ内オーディオを有効にする (iOS)
  • キーチェーン共有の構成
  • 関連ドメインの構成 (iOS、WatchKit 拡張機能)
  • アプリグループの構成
    HomeKit 追加 (iOS、WatchKit 拡張機能)
    データ保護を有効にする (iOS、WatchKit 機能拡張、tvOS)
    HealthKit の追加 (iOS、WatchKit 機能拡張)
    無線アクセサリー構成の有効化 (iOS)
    ニューススタンドの構成(iOS、WatchKit 拡張機能)
    トラブルシューティング
    総括
  • デバイス上でアプリを起動
  • Mac アプリの起動
    デバイス上でアプリの起動(iOS、tvOS、watchOS)
    スキームメニューからデバイスを削除
    デバイスからアプリを削除(iOS、tvOS、watchOS)
    手順の確認
    トラブルシューティング
    チームのプロビジョニングプロファイルをより詳しく
    総括
  • テストの為アプリをエクスポート(iOS、tvOS、watchOS)
  • 臨時のプロビジョニングプロファイルについて
    テストデバイスの登録
    アプリのアーカイブ
    ストア外でのテスト用にアプリをエクスポート
  • Xcode を使ってテストデバイスにアプリをインストール
  • iTunes を使ってテストデバイスにアプリをインストール (iOS、watchOS)
    Apple コンフィギュレータ2 (iOS、watchOS、tvOS) を使用してテストデバイスにアプリをインストール
    Xcode サーバーを使ってアプリの配布
    テスターからのクラッシュレポートを勧誘
    臨時のプロビジョニングプロファイルをより詳しく
    総括
  • テストのためアプリをエクスポート (Mac)
    テスト用 Mac の登録
    アプリのアーカイブ
    チームプロビジョニングプロファイルを使ってアプリをエクスポート
    テスト用 Mac 上にアプリをインストール
    Mac のインストーラパッケージをテスト
    インストーラパッケージを作成
    インストーラパッケージをテスト
  • iTunes Connect にアプリをアップロード
    ストアのプロビジョニングプロファイルについて
    iTunes Connect でアプリレコードの作成
    バージョンとビルド文字列を更新
  • アプリをアーカイブ
  • アーカイブスキーム設定の確認
    アーカイブの作成
    iTunes Connect の検証テストの実行
    アプリをアップロード
  • TestFlight を使ったアプリの配布 (iOS、tvOS、watchOS)
  • クラッシュレポートの分析
  • クラッシュレポートサービスについて
    クラッシュレポートを表示する前に
  • クラッシュオーガナイザでクラッシュレポートの表示
  • クラッシュレポートの表示と検索
    クラッシュレポートの情報を編集
  • デバッグナビゲータでソースコードを開く
    クラッシュレポートの統計情報の表示
  • アプリ開発者とクラッシュデータの共有
  • デバイスウィンドウでクラッシュの表示とインポート
    Xcode でクラッシュの再現
  • ストアにアプリの提出
    提出用のアプリを用意
    ヒューマンインタフェースとストアガイドラインを確認
    iTunes Connect に追加情報を入力
    最終候補をアップロード
    アプリを提出
    総括
  • iTunes Connect でアプリの管理
  • iTunes Connect のユーザーの役割と権限について
    iTunes Connect へのアクセス
    iTunes Connect のユーザーの追加と役割の表示
    アプリレコードの作成
    iOS のアプリレコードに tvOS アプリを追加
    アプリのステータスの表示
    分析を表示
    カスタマーレビューの表示
    アプリの新しいバージョンを作成する
    総括
  • 会員センターでのチームの管理
  • Apple デベロッパプログラムのチームの役割と権限
  • チームの役割
    チームの特権
    チームのエージェント
  • チームメンバーを招聘し役割を割り当てる
  • チームメンバーを招聘する
    チームの役割を変更
    チームメンバーのデバイスを登録
    チームエージェントの役割を移動
    チームメンバーの削除
  • 署名 ID と証明書を維持する
  • 署名 ID と証明書について
    署名 ID とプロビジョニングプロファイルの表示
  • 署名 ID の作成
  • 手順の確認
  • 会員センターを使用し確認
    キーチェーンアクセスを使用し確認
    トラブルシューティング
    開発者 ID 証明書の追加作成
    なくなった中間証明権限をインストール
  • 証明書とプロファイルのエクスポートとインポート
    開発者プロファイルをエクスポート
    選択した証明書のエクスポート
    開発者プロファイルをインポート
    キーチェーンから署名 ID を削除
  • 証明書の破棄
  • 破棄する特権
    Xcode を使用して開発証明書のリセット
    会員センターを使用して証明書の破棄
    期限切れの証明書の交換
    証明書を再作成し関連するプロビジョニングプロファイルの更新
    プッシュ通知クライアントの SSL証明書の作成
  • コード署名 ID ビルドを設定する
  • トラブルシューティング
    署名証明書を詳しく
    総括
  • ID、デバイス、プロファイルの維持
  • アプリ ID の登録
    アプリ ID の編集
    アプリ ID の削除
    チーム ID を検索する
  • 会員センターを使用してデバイスを登録する
  • デバイス ID の検索
  • Xcode を使用してデバイス ID を検索
    iTunes を使って iOS のデバイス IDを検索(iOS,tvOS)
    システム情報を使用してデバイス ID 検索(iOS,tvOS,Mac)
    個々のデバイスを登録
  • 複数のデバイスを登録
  • Apple コンフィギュレータを使用してプロパティリストのデバイスファイルを作成
    プレインテキストのデバイスファイルの作成
    デバイスファイルのアップロード
    あなたの iOS または Apple TV デバイスにプレリリースのインストール
    会員センターを使ってデバイスを無効/有効にする
    デバイス上のアプリの管理
    デバイスからアプリの削除
    会員センターを使用してプロビジョニングプロファイルの作成
    開発用プロビジョニング・プロファイルの作成
    アドホック・プロビジョニング・プロファイルの作成(iOS、tvOS、watchOS)
    ストアのプロビジョニングプロファイルの作成
    Xcode でプロビジョニングプロファイルのダウンロード
    カスタム・プロビジョニング・プロファイルの使用
    トラブルシューティング
    Xcode 管理のプロビジョニング・プロファイルへの移行
    会員センターでプロビジョニングプロファイル編集
    期限切れのプロビジョニングプロファイルの更新
    デバイス上のプロビジョニングプロファイルの確認と削除
    会員センターからプロビジョニングプロファイルを削除
    会員センターからプロビジョニングプロファイルをダウンロード
    アプリのバイナリ資格の確認
    総括
    Apple 開発者エンタープライズプログラムアプリの配布
    Apple 開発者エンタープライズプログラムアプリの開発
    あなたのチームをビルドする(チームエージェント)
    共有したチームプロビジョニングプロファイルの作成 (チーム管理者)
    開発の開始(チームメンバー)
    Apple 開発者エンタープライズプログラムアプリのテスト
    追加のエンタープライズ配布証明書の作成
    期限切れの証明書とプロビジョニング・プロファイルの管理
    あなたのアプリの社内でのエクスポート
    アーカイブの作成
    iOS アプリのファイルの作成
    手動でエンタープライズ開発者を信頼
    サーバーツールについて詳しく知る
    総括
  • Mac App Store 外でのアプリの配布
  • 開発者 ID の署名付きアプリとインストーラパッケージの作成
    開発者 ID にコード署名 ID の設定
  • 開発者 ID 証明書の作成
  • アーカイブの作成
    開発者 ID 署名のアプリの検証
    開発者 ID 署名のアプリのエクスポート
    インストーラパッケージに署名
  • 手順の確認
  • ゲートキーパーの有効化と無効化
  • ゲートキーパーの動作のテスト
  • 開発者 ID で署名されたアプリのテスト
    起動動作をテスト
    ゲートキーパーの動作テストに備えるため
    総括
  • トラブルシューティング
  • 証明書の問題
  • コード署名 ID をなくした時
    一致するプロビジョニングプロファイルがない時
    署名 ID の秘密鍵がなくなった場合
    開発者 ID 証明書の秘密鍵がなくなった場合
    中間証明書がないので証明書が無効
    証明書は、信頼に問題あり
    証明書は、有効期限が切れている
    要求がタイムアウトした
    プロビジョニングプロファイルや署名 ID が Xcode のメニューに表示されない
  • プロビジョニングの問題
  • デバイスにインストールされたプロビジョニングプロファイルが無効
    プロビジョニングプロファイルが会員センター内で無効とされる
    そのようなプロビジョニングプロファイルは見つからない
  • ビルドとコード署名の問題
  • Xcode にはプロビジョニングプロファイルが見つからない
    Xcode は、証明書を信頼していない
    コード署名 ID ビルド設定がどの証明書とも一致しない
    キーチェーンが、重複したコード署名 ID を含む
    プロビジョニングプロファイルのアプリ ID がアプリのバンドル ID と一致しない
    あなたのデバイスが、スキームツールバーメニューでリストされないか不適格
    デバッグ情報の問題
    Xcode はデバイスを接続すると不明の iOS を検出したというダイアログが表示
    アーカイブと提出の課題
    サポートされている機能
    文書改訂履歴
    用語集