12

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

スタンフォードの iTunes U コースから (CalculatorBrain) という単純な Hello World アプリを作成しようとしています。Simulator で問題なく実行できますが、iPhone 4S で取得したいと考えています。

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

とにかく、Macbook (マウンテン ライオン) に戻ります。私は最新の XCode 4.6.2 (4H1003) を実行しており、iPhone も最新の 6.1.3 だと思います。

Apple 開発者ページのプロビジョニング ポータルにアクセスしました。4Sを追加しました。私はそれを JohnSmith と呼び、電話の UDID を付けました。

XCode でオーガナイザーを開くと、デフォルトでデバイスが強調表示されます。パスコードを iPhone に入力し、Macbook に接続しました。デバイスが私の iPhone を見つけます。[Provisioning Profiles] をクリックして [Add Device to Provisioning Portal] を試すと、「A device with number already exists on this team.」というメッセージが表示されます。偉大な。確かに追加されていることがわかります。これまでのすべての良いニュース。

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

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

コードに署名しない

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

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

他の...

私はこれらすべてを試しました。iPhone Developer: John Smith のものを使用することになっていると思いますが、Provisioning Profiles のない ID だと言っています。

何が起きてる?これを機能させるにはどうすればよいですか?

4

4 に答える 4

39

あなたの説明に基づいて、不足している要素は、「証明書、識別子、およびプロファイル」ツールに戻り、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 設定

  1. Project Navigator (CMD+1) で、プロジェクト名 (おそらく 'CalculatorBrain') をクリックします。これにより、プロジェクトの設定が表示されます。
  2. 上記のスクリーン クリッピング (MyiOSApplication) に示されているように、[Your Project Name] > [Summary] タブを選択します。
  3. iOS AppID は「バンドル ID」フィールドに表示されます。この文字列のコピーを入手してください。次に必要になります。

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. 「Certificates, Identities, Profiles」ツール内で、「Provisioning Profiles」に移動します。
  2. 右上隅にある [追加] (プラス) ボタンをクリックします。
  3. 「タイプの選択」ステップで「iOS アプリ開発」を選択し、「続行」をクリックします。
  4. アプリ ID のドロップダウン リストからアプリ ID を選択し、[続行] をクリックします。
  5. 開発証明書の横にあるチェックボックスをオンにして、[続行] をクリックします。
  6. このアプリのインストールを承認するテスト デバイスの横にあるチェックボックスをオンにして、[続行] をクリックします。
  7. プロファイル名を入力し (ここでも特殊文字を省略します)、[生成] をクリックします。

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

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

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

コード署名 ID の構成

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

  1. Project Navigator (CMD+1) で、プロジェクト名 (おそらく 'CalculatorBrain') をクリックします。これにより、プロジェクトの設定が表示されます。
  2. [プロジェクト名] > [ビルド設定] タブを選択します。
  3. 「Code Signing Identity」項目までスクロールします。

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

また、私の Xcode は、新しくインストールされたプロビジョニング プロファイルの変更に常に対応しているようには見えません。いずれにせよ、Xcode を終了して再起動すると、プロファイルの再インデックス/更新がトリガーされるようです。

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

問題が欠落/不完全/期限切れのプロビジョニング プロファイルであると仮定すると、これは起動して実行するのに役立ちます。そうでない場合は、コード署名操作を妨げている可能性のある他の潜在的な設定または証明書の問題を掘り下げる必要があります。

于 2013-04-23T00:13:22.163 に答える
6

私は非常に似たような問題を抱えていました。これらのコード署名のすべてのオプションを試してみましたが、私の実際の解決策は次のとおりでした:実行ボタンと停止ボタンの横にある「アクティブなスキームを設定」を「iPhone (Petri)」に設定するだけです。

于 2013-06-26T15:09:32.403 に答える
1

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

  1. 「デバイス」ウィンドウを開く (Cmd + Shift + 2)
  2. デバイスを検索して選択します
  3. 左下隅にある「設定」ボタンを押します
  4. 「プロファイルのプロビジョニング」を押します
  5. 重複を検索します。同じ名前のプロファイルが 3 つ見つかりました
  6. 最新のものを除くすべてを削除しました
于 2015-01-18T14:19:00.020 に答える
1

プロジェクトではなくターゲットがチェックされていることを確認してください。

ターゲットが選択されていることを確認してください

于 2014-06-17T07:58:49.130 に答える