GAMEKITの機能をテストするために、iTunesConnectに新しいアプリを初めて追加しようと思っています。
this テクニカルノートを読みましたが、開発を開始したときに作成したアプリのバインドIDがすでにあるため、混乱しています(これは、現在のプロビジョニングを作成した現在のバンドルIDであり、テストプロファイル:hello- *)。
GameKitとInAppPurchaseを使用するには、新しいバンドルIDを作成する必要がありますか?
私は混乱しています:
特に最初の問題を解決する必要があります。GameKitとInAppPurchaseを使用するには、どのバンドルIDを使用する必要がありますか?
あなたの質問に答える前に、いくつかの定義:
バンドルID:単一のアプリを正確に識別する逆引きDNS文字列。
バンドルID検索文字列:バンドルIDのセットを照合するために使用されます。各バンドルIDは単一のアプリを識別します。たとえば、バンドルIDの検索文字列がcom.mycompany.MyApp
またはcom.mycompany.*
などのワイルドカードの場合、バンドルID com.mycompany.MyApp
と一致します。
アプリID:単一のチームからの1つ以上のアプリを識別する文字列。アプリIDは、バンドルID検索文字列の前にチームID、Appleチームを一意に識別します。 テクニカルノート でリンクするのはABCDE12345
であり、バンドルSeedIDと呼ばれます。
(開発)プロビジョニングプロファイル:これを使用して、アプリがデバイスで起動し、開発中に特定のストアテクノロジーを使用することを承認します。これは、単一のアプリID、デバイスのセット、および開発証明書のセットで構成されます。プロビジョニングプロファイルはメンバーセンターで作成され、アプリを実行するにはデバイス上で必要です。 XCodeは、プロビジョニングプロファイルをダウンロードして、デバイスにインストールできます。
今、私はあなたの弾丸に答えます:
このプロセスは、大規模なチームにとって非常に役立ちます。チームが小さく、アプリが少ない場合は非常に混乱しますが、その背後にある理由を理解するのに役立ちます。
しかし、これについてはもっと言うことがあります。最近読んだように、「 アプリ配布ガイド 」を読むことをお勧めします。これは広範なガイドですが、現時点では、トピック " 署名IDと証明書の保守 "および " 識別子、デバイス、およびプロファイルの保守 "のセクションを読むだけで済みます。 。ガイドは非常に明確で、スクリーンショットでいっぱいで、すべての質問に答えます。また、ガイドに戻って問題をすばやく解決することもできます(問題が発生します)。
1年以上前にGame-CenterとIAPを使用してアプリを初めて作成したとき、すべての質問に答えるためにstackoverflowを調べました。しかし、証明書の有効期限が切れたとき、新しいデバイスを追加したときなど、何度もいじってスタックオーバーフローに戻った後、アドホックソリューションを見つけるたびに問題が発生していました。誤解しないでください。stackoverflowには素晴らしい答えがありますが、全体像を説明するより長いものを読むことは、私の経験でははるかに優れた戦略です。アプリID、バンドルID、証明書、秘密鍵などは、特にこのように構築されている理由がわからない場合は、厄介な問題です。
バンドルIDは、アプリの単なる識別子です。これは主に、App Storeに送信する前にアプリに署名するため、または開発デバイス(テストなど)で使用するために使用する必要のある証明書を提供するために使用されます。バンドルIDは任意です。 Appleは、構文com.yourcompany.yourapp
を使用して、開発するアプリ間で一貫性を保ち、他のアプリの識別子との競合を回避することをお勧めします。
ワイルドカードはすべてのアプリで使用できますが、特定のIDは1つのアプリでのみ使用できます。各アプリのIDと、開発用のワイルドカードのみを用意することをお勧めします(アプリの出荷を決定するまで、証明書を気にすることなく、デバイス上で必要な数のアプリを実行できます)。すべてのアプリですべてのサービス(Game CenterやiCloudなど)にアクセスする必要はないため、アプリに必要なサービスだけで単一の証明書に署名することをお勧めします。
私が思うのはApple欲しいのは:
アプリ内購入/ GameKitまたはその両方を使用するアプリごとに異なるバンドルIDを作成します。
同じApp-IDと、これらを使用しないアプリのバンドルIDを持つことができます。
アプリ用に持っているbundleIDが他のアプリで使用されていない場合は、それを使用できます。
もっと知識のある人、間違っていたら訂正してください。