Mac App Store 外でのアプリの配布


いくつかのケースでは、Mac App Store の外でアプリを配布したいかもしれません。そのアプリが、Mac App Store を通じて配布されないので、アップルに特定された、開発者と言う事をユーザーに保証するために開発者の ID 証明書を使用して下さい。


Mac ユーザーはゲートキーパー(Gatekeeper)、すなわちユーザーに Mac App Store で識別された開発者からのみソフトウェアをインストールする機能をユーザーに提供するセキュリティ機能をオンにするオプションがあります。アプリが Apple によって発行された開発者の ID 証明書で署名されていない場合は、ゲートキーパーが有効になっていれば、それは Mac 上で起動しません。この状況を回避するには、開発者の ID 証明書を使用して、アプリとインストーラパッケージに署名して下さい。また、Mac App Store の外でアプリを配布する前に、ゲートキーパーが有効になった Mac を使用して、エンドユーザーの操作性を完全にテストして下さい。


この章では、Mac App Store の外で、配布のための開発者 ID で署名されたアプリを作成し、テストするための Xcode の手順について説明します。


開発者 IDの署名付きアプリとインストーラパッケージの作成


開発者 ID で署名されたアプリやインストーラパッケージを作成するには、多段階プロセスを踏みます。まず、Mac App Store の外でアプリを配布する予定として Xcode を設定し、その後開発者 ID 証明書を作成してください。開発者 ID 証明書には2種類あります:開発者 ID アプリが、アプリに署名するために使用される場合と、開発者 ID インストーラがインストーラパッケージに署名するために使用される場合です。Xcode を使用して、開発者 ID アプリ証明書を使用してアプリのアーカイブをエクスポートし、署名します。また、開発者 ID インストーラ証明書を使用してインストーラパッケージに署名するためのコマンドラインユーティリティを使用することもできます。



重要: Xcode に Apple ID アカウントを追加 で説明したように、作業を開始する前に、Apple 開発者プログラムに登録して下さい。Apple 開発者プログラムに属するチームエージェントだけが、開発者 ID 証明書を作成し、それらを使用して、アプリやインストーラパッケージに署名する事ができます。



開発者 ID にコード署名 ID の設定


最初に、開発者 ID への[一般(General)] ペインでコード署名 ID を設定します。




開発者 ID に署名 ID を設定するには


  1. プロジェクトナビゲータで、ターゲットを選択してプロジェクトエディタを表示します。
  2. [一般(General)] をクリックし、必要に応じて ID の隣にある開閉用三角ボタンをクリックし、設定を明らかにします。
  3. あなたのバンドル ID が唯一のものであることを確認します。
  4. [署名(Signing)] の下で、署名 ID として"開発者 ID または Apple ID" を選択します。

  5. 14_developerid_option_2x


  6. 必要であれば、チームを選択するか、チームのポップアップメニューから"アカウントを追加" を選択します。

Mac App Store の外で配布する場合は、幾つかのアプリサービスを使用できません。機能の追加 で説明したように、[機能(Capabilities)] ペインで機能を有効にした場合、[署名(Signing)] のラジオボタンは、[Mac App Store] に戻ります。Xcodeの にあなたの Apple ID を追加して、Apple 開発者プログラムに参加するには、アカウントの管理 をお読みください。


開発者 ID 証明書の作成


Mac App Store の外でアプリを配布するために、テキスト「Developer ID」で始まる署名証明書を使用して下さい。具体的には、署名 ID の作成 で説明したように、開発者 ID 証明書を作成するためアカウントの環境設定を使用して下さい。アカウントの環境設定では、開発者 ID アプリケーションまたは開発者 ID インストーラの署名 ID の隣の[作成(Create)] をクリックします。あなたが開発者 ID 証明書を持っていて、秘密鍵がなくなった場合は、開発者 ID 証明書の追加作成 で説明したように、別の開発者 ID 証明書を作成して下さい。これらの証明書を使用するには、これらの証明書を使用する Xcode があなたのキーチェーンにインストールする開発者 ID 認証局の中間証明書が必要です。この中間証明書がない場合は、それを復元するために、なくなった中間証明権限をインストール をお読みください。


開発者プロファイルをエクスポート で説明したように、開発者 ID 署名 ID は、それらを作成した後にすぐにバックアップする必要があります。



注意: チームのエージェントだけが開発者 ID 証明書を作成できます。個人の開発者の場合、あなたはチームのエージェントであり、これらの証明書を作成することができます。開発者 ID 証明書を破棄したい場合は、product-security@apple.com にお問い合わせください。



アーカイブの作成


アーカイブを作成する前に、ビルドし、それがあなたの配布したいバージョンであることを確認するために、アプリを何回も実行します。


アーカイブを作成するには


  1. Xcode のプロジェクトエディタで、プロジェクトを選択します。
  2. [製品(Product)] > [アーカイブ(Archive)] を選択してください。

  3. アーカイブオーガナイザが表示され、新しいアーカイブが表示されます。


    14_archivesorganizer_2x


開発者 ID 署名のアプリの検証


アーカイブを作成した後すぐに、それを検証し、続行する前に、すべての検証エラーを修正して下さい。


開発者 ID 署名のアーカイブを検証するには


  1. アーカイブオーガナイザで、アーカイブを選択し、[検証(Validate)] ボタンをクリックします。
  2. 表示されるダイアログで、検証方法として"開発者 ID 署名のアプリケーションの検証" を選択し、[次へ(Next)] をクリックします。

  3. 14_validate_developerid_2x


  4. 表示されるダイアログで、ポップアップメニューからチームを選択し、[選択(Choose)] をクリックします。
  5. 署名 ID および資格を確認し、[検証(Validate)] をクリックします。
  6. 確認検証の問題が見つかれば、[完了(Done)] をクリックします。

開発者 ID 署名のアプリのエクスポート


Mac App Store の外で配布するためにアプリをエクスポートするには、アーカイブ・オーガナイザーを使用して下さい。


開発者 ID 署名のアプリを作成するには


  1. アーカイブ・オーガナイザで、アーカイブを選択し、[エクスポート(Export)] をクリックします。
  2. 配布方法の選択肢を提供するダイアログが現れ、"開発者 ID 署名のアプリケーションをエクスポート" を選択し、[次へ(Next)] をクリックします。

  3. 14_selectsavesignedapp_2x


  4. 表示されるダイアログで、ポップアップメニューからチームを選択し、[選択(Choose)] をクリックします。

  5. あなたが個人の開発者なら、あなたの名前がポップアップメニューに表示されます。それ以外の場合は、あなたの組織名がポップアップメニューに表示されます。


  6. 表示されるダイアログで、署名 ID および資格を確認し、[エクスポート(Export)] をクリックします。

  7. Finder はエクスポートされたファイルを表示します。


インストーラパッケージに署名


インストーラパッケージの一部として Mac App Store の外でアプリを配布したい時は、通常どおりパッケージを作成して下さい。productsign(1) コマンドラインユーティリティを使用して開発者 ID インストーラ証明書でパッケージにコード署名します。spctl(8) コマンドラインユーティリティを使用して、あなたのインストーラパッケージをテストし、あなたのパッケージのファイル名で MyPackageName.pkg で置き換えるには:


spctl -a -v --type install MyPackageName.pkg


警告:開発者 ID インストーラ証明書を使用してインストーラパッケージに署名している事を確認してください。productsign(1) コマンドラインユーティリティを使用すると、開発者 ID アプリケーション証明書を使用してインストーラパッケージに署名できます。このアプローチは機能するように見えるかもしれませんが、結果として、インストーラのアーカイブは目的先 Mac 上で失敗します。



開発プロセスが、コマンドラインからのコード署名を含んでいる場合は、コード署名ガイド をお読み下さい。


手順の確認


アプリを配布する前に、ゲートキーパーを有効または無効にしてアプリを起動することで、エンドユーザーの操作性をテストして下さい。システム環境設定を使用して門ゲートキーパーを有効または無効にできます。検証し、ゲートキーパーをテストするためにも spctl(8) コマンドラインユーティリティを使用してください。エンドユーザの操作性をシミュレートするには、アプリを隔離し、ゲートキーパーを有効にして、再度テストする必要があります。


ゲートキーパーの有効化と無効化


システム環境設定で[セキュリティとプライバシー] の設定を使用して、ゲートキーパーを有効化・無効化できます。ゲートキーパーをオフにし、spctl(8) コマンドラインユーティリティを使用して、ゲートキーパーの状態を確認できます。




セキュリティとプライバシーの設定を使用してゲートキーパーを有効または無効にするには

  1. Finder で、[システム環境設定] を起動し、[セキュリティとプライバシー] を選択します。
  2. ロックされていた場合は、ロックボタンをクリックし、管理者パスワードを入力します。
  3. ゲートキーパーを使用可能にするには、「Mac App Store と確認済みの開発元からのアプリケーションを許可」を選択します。

  4. 14_system_pref


  5. ゲートキーパーを無効にするには、「Mac App Store からのアプリケーションのみを許可」または「すべてのアプリケーションを許可」を選択し、表示されるダイアログで、選択を確認します。



spctl コマンドを使用してゲートキーパーを無効にするには


  1. ターミナルで、次のコマンドを入力します。

  2. $ sudo spctl --master-diable

  3. Return キーを押します。
  4. プロンプトが表示されたら、管理者パスワードを入力します。



ゲートキーパーが有効になっていることを spctl コマンドを使用して確認するには

  1. ターミナルで、次のコマンドを入力します。

  2. $ spctl --status

  3. Return キーを押します。

  4. ゲートキーパーが有効になっている場合は、このコマンドの出力は次のとおりです。


    assessments enabled

    ゲートキーパーが無効になっている場合は、このコマンドの出力は次のとおりです。


    assessments disabled



ゲートキーパーの動作のテスト


開発者 ID 証明書を使用してアプリに署名した後、それが正しく署名されたかどうかをテストできますし、ゲートキーパーが有効な場合には、アプリの起動動作をシミュレートできます。ゲートキーパーが有効な Mac では、アプリの隔離されたコピーは、それが開発者 ID により署名されている場合にのみ起動します。(この 基礎知識の記事 に記載されている隔離をご覧ください。) また、署名した開発者 ID でないアプリのゲートキーパーの動作をテストすることもできます。


開発者 ID で署名されたアプリのテスト

アプリが開発者 ID 証明書を使用して、正しく署名されているかどうかをテストする spctl(8) コマンドラインユーティリティを使用できます。




開発者 ID で署名されたアプリをテストするには


  1. システム環境設定の[セキュリティとプライバシー] の設定で「Mac App Store と確認済みの開発元からのアプリケーションを許可」を選択して、テストする Mac でゲートキーパーを有効にします。
  2. あなたのアプリへのパスで TrackMix.app を置き換え、Terminal で以下のコマンドを入力します。

  3. $ spctl -a -v TrackMix.app

  4. Return キーを押します。
  5. アプリが正しく署名されている場合は、このコマンドの出力は次のとおりです。


    ./TrackMix.app: accepted
    source=Developer ID
    



起動動作をテスト


開発者 ID で署名されたアプリを徹底的にテストし、開発に使用されていない Mac でアプリの起動をシミュレートします。




ゲートキーパーの動作テストに備えるため

  1. ゲートキーパーの有効化と無効化 で説明したように、テスト用の Mac 上でゲートキーパーを有効にします。
  2. 開発者 ID で署名されたアプリのコピーを隔離します。以下のいずれかの方法でこれを行うことができます。
    • あなた自身にあなたの開発者 ID で署名されたアプリを電子メールで送り、メールでダウンロードしたこのコピーを使用します。
    • 独自のローカルまたはリモートサーバ上で開発者 ID で署名されたアプリをホストし、Safari がダウンロードしたそのコピーを使用します。


これでゲートキーパーの動作をテストする準備が整いました。




開発者 ID で署名されたアプリでゲートキーパーの動作をテストするには


  1. Finder で、あなたの開発者 ID で署名されたアプリの隔離されたコピーを検索し、そのアイコンをダブルクリックします。
  2. Mac は、確かにこのアプリを開くかどうかを尋ねる警告を表示します。


    14_identified_developer_2x


    この警告は、門番が有効で隔離されたアプリを開く許可を与え、開発者 ID アプリが正しくビルドされた事の保証を与えます。



    重要: 警告がこの時点では表示されない場合、それはアプリの隔離されていないコピーを開いていることが考えられます。






開発者 ID で署名されていないアプリをブロックするための門番の動作をテストするには


  1. ゲートキーパーの有効化と無効化 で説明したように、テスト用 Mac 上でゲートキーパーを有効にします。
  2. 開発用 ID で署名されていないアプリのコピーを隔離します。
  3. 前と同じように、以下のいずれかの方法で、アプリのこのコピーに隔離を呼び掛けることができます。


    • 自分自身に、アプリを電子メールで送り、Mail.app でダウンロードした、そのコピーを使用します。
    • 独自のローカルまたはリモートサーバ上で開発者 ID で署名されたアプリをホストし、Safari でダウンロードした、そのコピーを使用します。

  4. Finder で、あなたのものでない開発者 ID で署名されたアプリの隔離されたコピーを検索し、そのアイコンをダブルクリックします。

  5. Mac は警告を表示し、そのアプリを開くのをブロックします。この警告の方法で、ゲートキーパーは正体不明の開発者からのアプリを初めて開くのを防止することによって Mac を保護します。以前にユーザーが開いたアプリはもはや隔離されず、ゲートキーパーはそれらが起動するのを防ぎません。




総括


この章では、Mac App Store の外であなたの Mac のアプリを配布する方法を学び、ユーザーがアプリを起動するのをブロックしないようにする方法を学びました。




前の章
次の章

目次
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 を検出したというダイアログが表示
    アーカイブと提出の課題
    サポートされている機能
    文書改訂履歴
    用語集