web-dev-qa-db-ja.com

アプリケーションの識別子と一致する有効なプロビジョニングプロファイルが見つかりませんでした

これは以前に尋ねられましたが、以前の質問への答えは私の問題を解決していません。

私はスタンフォード大学のiTunes Uコースから(CalculatorBrain)というシンプルなHello Worldアプリを作成しようとしています。シミュレータで問題なく実行できますが、iPhone 4Sで実行したいのですが。

WindowsマシンのiTunesでiPhone 4Sを同期しています。いつももっている。この詳細をリストする必要があると考えました。

とにかく、私のMacbook(Mountain Lion)に戻りましょう。私は最新のXCode 4.6.2(4H1003)を実行しています。私のiPhoneも6.1.3で最新です。

Apple開発者ページでプロビジョニングポータルにアクセスしました。4Sを追加しました。JohnSmithと名付け、電話にUDIDを与えました。

XCodeでオーガナイザーを開いたところ、デフォルトでデバイスが強調表示されています。パスコードをiPhoneに入れ、Macbookに接続しました。デバイスが私のiPhoneを検出します。プロビジョニングプロファイルをクリックして[プロビジョニングポータルにデバイスを追加]を実行すると、「このチームにはすでに番号が付いたデバイスが存在します」と表示されます。すごい。確かに追加されているのは確かだ。これまでのところすべての朗報。

Hello Worldアプリでは、CalculatorBrain-Info.plistのバンドルIDは「com.JohnSmith.CalculatorBrain」です。バンドルの表示名は「$ {PRODUCT_NAME}」で、実行可能ファイルは「$ {EXECUTABLE_NAME}」です。

ナビゲーターでプロジェクトを強調表示してビルド設定を表示すると、コード署名IDの下にオプションが表示されます...

コードに署名しない

自動プロファイルセレクタ-iPhone Developer-iPhoneディストリビューション

プロビジョニングプロファイルのないID-iPhone開発者:John Smith(R ............ K)-iPhoneディストリビューション:John Smith(Y ............. 5)

その他...

私はこれらすべてを試しました。 iPhone開発者のJohn Smithを使用することになっていると思いますが、それはプロビジョニングプロファイルなしのIDであると言っています。

何が起きてる?これを機能させるには何をする必要がありますか?

12
chris P

説明に基づいて、不足している要素は「証明書、識別子、プロファイル」ツールに戻り、HelloWorldアプリのAppIDの開発プロビジョニングプロファイルを生成して、開発にそのプロファイルをインストールする必要があるようです機械。高レベルでは、これは次のステップで構成されます。

  1. XcodeでプロジェクトのAppIDを見つけます。
  2. 「証明書、識別子、プロファイル」でそのAppIDを設定したことを確認します。
  3. そのAppIdの開発プロビジョニングプロファイル、開発証明書、および1つ以上の登録済みテストデバイスを作成します。
  4. Xcodeでプロビジョニングプロファイルをダウンロードしてインストールします。
  5. このプロファイルとリンクされたコード署名IDを使用してコード署名するようにプロジェクトを構成します。
  6. デバイスにビルド!

前述の「コード署名ID」ビルド構成項目は、プロジェクトの設定と、開発マシンで使用可能なプロビジョニングプロファイルの両方に大きく依存します。私は最近、接線に関連する質問に回答しました 'コード署名IDとは何ですか?' これは、コード署名が使用している情報と、開発マシンの設定が正しいことを確認する方法を確認するのに役立ちますプロジェクトにコード署名できます。

...そして今、コード署名の質問を処理するのに役立つより具体的なHOWTOに進みます。

プロジェクトのAppIDを検索しています

AppIDはiOSエコシステムでアプリケーションを一意に定義し、新しいXcodeプロジェクトを開始するときに最初に作成するものの1つです。このAppIDは、プロビジョニングを開始するために「証明書、識別子、プロファイル」ツールに登録する必要があるものです。

Xcode AppId Setting

  1. プロジェクトナビゲーター(CMD + 1)で、プロジェクト名(「CalculatorBrain」など)をクリックします。プロジェクトの設定が表示されます。
  2. 上記のスクリーンクリップ(MyiOSApplication)に示すように、[プロジェクト名]> [概要]タブを選択します。
  3. IOS AppIDが[Bundle Identifier]フィールドに表示されます。この文字列のコピーを取得します。次に必要になります。

AppIDを確認(またはセットアップ)します

  1. http://developer.Apple.com/ios に移動し、「証明書、識別子、プロファイル」ツールにアクセスします。
  2. ログイン後、「識別子」を選択します。
  3. 前のセクションで見つけたAppIDがApp Identifiersのリストにあることを確認します。その場合は、アプリID名をメモして、次のセクションに進んでください。それ以外の場合は...
  4. 右上隅にある[追加](プラス)ボタンをクリックして、このアプリIDの名前を指定します(特殊文字が含まれていない限り、任意の名前にすることができます)。
  5. ページの一番下までスクロールし、前のセクションのアプリIDのコピーを[バンドルID]フィールドに貼り付けます。 「明示的なアプリID」の下。
  6. 「続行」をクリックします。

AppIDはiOSエコシステム全体で一意でなければならないことに注意してください。選択したAppIDがすでに使用されている場合は、エラーが発生する可能性があります。その場合は、「バンドルID」を一意の名前に変更します。Xcodeプロジェクトの「バンドルID」設定を更新して、解決したものと一致するようにしてください。

開発プロビジョニングプロファイルの作成

アプリIDが登録されたので、アプリID、開発証明書、およびテストデバイスIDをリンクする開発プロビジョニングプロファイルを作成する準備ができました。

  1. 「証明書、ID、プロファイル」ツール内で、「プロビジョニングプロファイル」に移動します。
  2. 右上隅にある[追加](プラス)ボタンをクリックします。
  3. 「タイプの選択」ステップで「iOSアプリ開発」を選択し、「続行」をクリックします。
  4. アプリIDのドロップダウンリストからアプリIDを選択し、[続行]をクリックします。
  5. 開発証明書の横にあるチェックボックスをオンにして、[続行]をクリックします。
  6. このアプリのインストールを許可するテストデバイスの横にあるチェックボックスをオンにして、[続行]をクリックします。
  7. プロファイル名を入力し(ここでも特殊文字を省略します)、[生成]をクリックします。

プロビジョニングプロファイルのダウンロードとインストール

プロビジョニングプロファイルが生成されると、ツールからダウンロードできるリンクが提供されます

  1. 「ダウンロード」リンクをクリックして、プロビジョニングプロファイルをダウンロードします。
  2. ダウンロード場所からプロビジョニングプロファイルをドラッグしてXcodeドックアイコンにドロップするか、ダブルクリックして開きます。

コード署名IDの構成

これがどこにあるかすでに知っているようですが、念のため:

  1. プロジェクトナビゲーター(CMD + 1)で、プロジェクト名(「CalculatorBrain」など)をクリックします。プロジェクトの設定が表示されます。
  2. [プロジェクト名]> [ビルド設定]タブを選択します。
  3. 「コード署名ID」アイテムまでスクロールします。

理論的には、「自動プロファイルセレクター」オプションを使用して、AppIDをインストール済みのプロビジョニングプロファイルと照合しようとしますが、リストをスクロールして、バンドルID/AppIdからiOS証明書への特定のマッピングを選択することもできます。

また、自分のXcodeが、新しくインストールされたプロビジョニングプロファイルの変更に常に追いついているとは限りません-これが自分のXcodeインストールの癖なのか、Xcodeにバグがあるのか​​は不明です。いずれにしても、Xcodeを終了して再起動すると、プロファイルの再インデックス/更新がトリガーされるようです。

とにかく、AppId/BundleIdと開発者証明書に一致するオプションを選択します。

問題がプロビジョニングプロファイルの欠落/不完全/期限切れであると想定すると、これで問題なく稼働できるようになります。そうでない場合は、コード署名操作を妨げる可能性のある他の潜在的な設定または証明書の問題を調査する必要があります。

39
Bryan Musial

私は非常に似た種類の問題を抱えており、それらのコード署名のすべてのオプションを試してみましたが、私の実際の解決策は次のとおりでした:-再起動されたXcode-"Window-> Organizer"に移動-次に "Editor"と-"Refresh from Developer Portal"次にI実行ボタンと停止ボタンの横にある「アクティブスキームを設定する」を「iPhone(Petri)」に設定するだけです。

6
Petri

プロジェクトの代わりにターゲットがチェックされていることを確認してください。

make sure Targets is selected

1
Asfanur

enter image description here私の場合、デバイスには同じ名前の3つのプロビジョニングプロファイルがあります。開発中に、私はプロビジョニングプロファイルを数回更新し、新しい更新プロファイルがデバイスに追加されるたびに、古いプロファイルを削除しませんでした。そのため、xcodeはその時点で間違っていた最初のプロビジョニングプロファイルを検索し、私の顔にエラーをスローしました。だから、あなたは何をすべきですか:

  1. 「デバイス」ウィンドウを開く(Cmd + Shif + 2)
  2. デバイスを検索して選択します
  3. 左下の「設定」ボタンを押します
  4. 「プロビジョニングプロファイル」を押します
  5. 重複を検索します。同じ名前のプロファイルが3件見つかりました
  6. 最新のものを除くすべてを削除
1