web-dev-qa-db-ja.com

XcodeのiOSプロビジョニングプロファイル番号

とにかく、Xcodeのオーガナイザーまたはオンライン開発者サイトのプロビジョニングプロファイルを、Xcodeのコード署名設定で指定されたクレイジーなシリアル/ ID番号と一致させますか?

enter image description here

正しい(アドホック)プロビジョニングプロファイルを使用してアプリを構築していることを二重に確認したい-Xcodeは(上記のように)長いIDを提供しますが、オンライン開発者サイトとプロビジョニングプロファイルを一覧表示するXcode設定は提供しませんtこの番号をリストします。

14
wcochran

Xcodeに表示されているのは、プロビジョニングプロファイルの一意のUUIDであることが保証されています。それが必要なプロファイルであることを確認します。 Apple Developer "Certificates、Identifiers&Profiles"サイトにアクセスします。

  • コード署名の詳細を見て、プロビジョニングプロファイルの名前を取得します

Code Signing Detail

Code Signing Details Zoomed In

Download Provisioning Profiles

  • あるべきだと思うプロビジョニングプロファイルをダウンロードします
  • コマンドラインまたはプレーンテキストエディタを使用して、プロビジョニングプロファイルファイルの内部を確認します。 Xcodeを使用しないでください(個人的には、ファイルをTextMate 2にドラッグアンドドロップします)

enter image description here

  • ファイルのUUIDとXcodeの設定を比較します

参考:プロビジョニングプロファイルと開発証明書は無効になります。

ポータルで新しい証明書を作成できますが、Xcodeを使用する方がはるかに簡単です。 (私は個人的にBeta Xcode 6を使用しません。以下のスクリーンショットはすべて、Xcode 5.1のものです)ご覧のとおり、Testflight配布証明書とプロビジョニングプロファイルの有効期限が切れています。期限切れの証明書は、ストア内のアプリに影響を与えない大きな問題ではありません。人々が購入するアプリはAppleによって署名されています。アプリがあなたからのものであることを証明するために、レビューのためにアプリを送信するには、アプリに署名する必要があります。審査中に証明書の有効期限が切れると問題になる可能性がありますが、必要なのは再送信することだけです。アドホック分散アプリ証明書の有効期限が切れると、ベータテスターはそれを実行できなくなります。新しい証明書と更新されたプロビジョニングプロファイルを使用して、すべての新しいバージョンを配布する必要があります。

  • Xcodeを使用して配布証明書を更新します-Xcode-設定-アカウントタブ-アカウントを選択します-[詳細を表示...]ボタン

enter image description here

  • 新しい配布証明書を追加する

enter image description here

  • これには時間がかかります、〜30秒?我慢して

  • 成功

enter image description here

  • ポータルを使用して、新しいプロビジョニングプロファイルを編集または作成し、アドホック分散アプリにアクセスできるユーザーを完全に制御できるようになりました。

証明書とプロビジョニングプロファイルの説明

これは、セキュリティと秘密鍵/公開鍵暗号化だけです。 sshキーを設定するように、悪魔は細部にあります。 1つ欠けているもの、1つの誤った権限、1つのビットが変更され、何も機能しません。

Provisioning Profile diagram

プレーヤー

  • 秘密鍵-証明書で検証できるオブジェクトに署名するために必要です
  • IPhone証明書(作成者Apple公開鍵を使用する署名機関)
  • Appleの中間証明書-証明書の検証に必要な署名機関を識別する証明書
  • プロビジョニングプロファイル-を含む
    • アプリID
    • 証明書
    • デバイスIDのリスト

要求事項

  • 開発者を特定する
  • IPhone開発チームを特定する(Apple iOS開発者メンバーシップ)
  • アプリケーションを特定する
  • 許可された個々のデバイスを特定する
  • ユーザーのデバイスでアプリケーションの1バイトが変更されていないことを確認してください

一般的な問題:

  • プロビジョニングプロファイルのアプリIDは、アプリケーションの情報リストで定義されているバンドル識別子と互換性がありません。はい、残念ながらXcodeではバンドル識別子と呼ばれ、ポータルではアプリIDと呼ばれています。デフォルトのアプリテンプレートは、バンドルIDをアプリ名の変更されたバージョンにリンクするため、名前を変更すると、シミュレーター以外のすべてが破損します。参照:チームプロビジョニングプロファイルの詳細 https://developer.Apple.com/library/ios/documentation/IDEs/Conceptual/AppDistributionGuide/LaunchingYourApponDevices/LaunchingYourApponDevices.html#//Apple_ref/doc/uid/TP40012582- CH27-SW1
  • 新しいマシン:Xcodeに開発者アカウントがないため、証明書とプロビジョニングプロファイルがありません
  • 新しいマシン:証明書の秘密鍵はありません
    • Xcodeが証明書を作成するとき。まず、秘密鍵と公開鍵のペアを作成します。秘密鍵はキーチェーンに保存されます。証明書署名要求がAppleにアップロードされます。証明書は自動的に作成およびダウンロードされます。証明書またはプロビジョニングプロファイルはいつでも再ダウンロードできますが、秘密鍵はキーチェーンにのみ存在し、多くの場合、1台のコンピューターにのみ存在します。キーチェーンの同期を有​​効にするか、明示的にファイルに保存して別のマシンにスニーカーネットで接続しない限り。
  • 新しいマシン:AppleのWorldwide Developer Relations CertificateAuthorityからの中間証明書がありません
  • 証明書および/またはプロビジョニングプロファイルの有効期限が切れています
  • 「常に許可」ではないキーチェーンアクセス。証明書はキーチェーンに安全に保存されるため、Xcodeには常にキーチェーンアクセスが必要です

参照:Appleのアプリケーション配布ガイド- https://developer.Apple.com/library/ios/documentation/IDEs/Conceptual/AppDistributionGuide/AppDistributionGuide.pdf

19
GayleDDS

この手がかりは wcochran によるコメントに埋もれていますが、必要なのがmobileprovisionファイルのUUIDを表示することだけである場合は、次のように実行します。

grep -a -A 1 'UUID' <PATH_TO_MOBILEPROVISION_FILE>

次のように出力されます。

<key>UUID></key>
<string>1a1a1a1a-2b2b-3c3c-4d4d-5e5e5e5e5e5e</string>

<string>タグ間の値が必要なUUIDです。

ファイルをvimまたはUTF-8以外の文字を気にしない他のテキストエディタで開くこともできます。 (このため、ブラケットは機能しません)。

11
James Oltmans

これは非常に便利なツールです: https://github.com/chockenberry/Provisioning

これは、UUIDを含む.mobileprovisionプロファイルファイルに関する情報を表示できるクイックルックプラグインです。もう1つのボーナスは、そのプロファイルファイル用に構成されているデバイスが表示されることです。

3
Dave Wood