web-dev-qa-db-ja.com

iPhone:生産証明書のプッシュ通知テスト

簡単な質問があります。 iPhoneアプリの開発プッシュ通知証明書をテストしていて、正常に動作しています。アプリケーションをAppStoreに送信する前にプロダクション証明書をテストできることを知りたいだけですか?試してみましたが、製品証明書を使用するとメッセージが表示されません。 Apple本番証明書を使用する場合、アプリケーションはAppStoreにある必要がありますか?

ありがとう。

26
applefreak

アドホックプロファイルを作成する場合、プロダクション証明書を使用していることがわかります。これは、おそらくそれをテストする最も簡単な方法です。

更新:

the Appleドキュメントはこちら を参照してください

これにはいくつかのステップがありますが、本質的には次のとおりです。

1)チームリーダーは、新しいDISTRIBUTIONプロビジョニングプロファイルを作成する必要があります。これは、新しいプロファイルを作成するときに「AppStore」ではなく「AdHoc」を選択することによって行われます。これにはワイルドカードアプリIDを使用できないことに注意してください。アプリケーションには特定のアプリIDが必要ですが、既に持っている場合もあります。

2)アーカイブ用のビルドが新しく作成されたアドホック構成を使用するようにシステムをセットアップします。これをセットアップするために必要な手順はオンラインで十分に文書化されています ここに1つの例があります

3)アドホックプロビジョニングプロファイルにリンクされているデバイスに.ipaを配布すると、プッシュ通知システムが本番サーバーを使用していることがわかります。

余談ですが、私はtestflightappがアドホックビルドの配布の管理に本当に役立つことを発見しました。最近発見したばかりですが、ベータテストプログラムを実行している最中なので、現時点では時間を節約できます。

36
Roger

アドホック配布の場合は、以下の手順に従ってください。

  1. プロビジョニングポータルで、配布証明書を作成します。
  2. テストに使用する予定のiPhoneの「デバイスID」を取得します。 iTunesを開きます->デバイスを接続します->デバイスを選択します->概要ウィンドウでシリアル番号のラベルをクリックすると、識別子(40桁の16進数)に変わります-> [編集]、[コピー]を選択します。
  3. プロビジョニングポータルで、[デバイス]-> [新しいデバイスの追加]->コピーしたデバイスIDを入力し、名前を付けます。
  4. プロビジョニングポータルで、ディストリビューションプロビジョニングプロファイルを作成します。 ([プロビジョニング]-> [配布]に移動します)。配布タイプについては、「アドホック」にチェックを入れてください。アプリIDを選択します。配布証明書がある場合は、ここで自動的に選択されます。新しく入力したデバイスを選択して送信します。このプロビジョニングプロファイルをダウンロードします。
  5. Xcodeでは、ウィンドウ->オーガナイザー。デバイスをクリックし、ライブラリ->プロビジョニングプロファイルを選択します。管理者の場合、[更新]をクリックすると、新しく作成されたプロビジョニングプロファイルが取得されます。そうでない場合は、アドホックプロビジョニングプロファイルをこのリストにドラッグアンドドロップします。
  6. Xcodeで、プロジェクトの[ビルド設定]-> [コード署名ID]-> [リリース]セクションで、[iPhoneディストリビューション]を選択します。 「AnyiOSSDK」の場合、新しく作成したプロビジョニングプロファイルを選択します。リストに表示されます。
  7. Xcodeで、[製品]-> [アーカイブ]。アーカイブが完了すると、アーカイブウィンドウが自動的に開きます。プロジェクトを選択して[配布]をクリックします。[配布]ウィンドウで、[エンタープライズまたはアドホック展開用に保存]を選択します->新しいプロビジョニングプロファイルに対応する[コード署名ID]を選択します。プロセスを続行すると、「。ipa」ファイルが作成されます。
  8. この.ipaファイルと、アドホック配布をテストするための新しいプロビジョニングプロファイルを送信します。

テストデバイスにadHocディストリビューションをロードする方法:

  1. ITunesを開き、テストデバイスを接続します。
  2. 新しいプロビジョニングプロファイルをiTunesにドラッグアンドドロップします。
  3. .ipaファイルiTunesをドラッグアンドドロップします。
  4. デバイスを同期します。これにより、アプリが読み込まれます。

プッシュ通知をアドホック配布で機能させるには:

  1. 本番証明書を使用します。
  2. 本番APNホストを使用:gateway.Push.Apple.com
  3. 本番APNフィードバックホストを使用します:feedback.Push.Apple.com。

開発環境のpushnotificationをテストする際に留意すべき厳格なチェックリストがあります。それらのほとんどはすでに上で言及されています。しかし、これは私の問題を解決した1つのことであり、共有したいと思います。誰かのお役に立てば幸いです。そしてそれは:

開発および本番環境では異なるデバイストークンIDに注意してください。

- (void)application:(UIApplication *)app didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken {
       NSString *deviceTokenStr = [[[[deviceToken description]
                                      stringByReplacingOccurrencesOfString: @"<" withString: @""]
                                     stringByReplacingOccurrencesOfString: @">" withString: @""]
                                    stringByReplacingOccurrencesOfString: @" " withString: @""];
       UIAlertView *alert= [[UIAlertView alloc]initWithTitle:deviceTokenStr message:Nil delegate:self cancelButtonTitle:@"OK" otherButtonTitles: nil];
        [alert show];
}
8
Christine

代替案

さらに時間を節約したい場合は、 デバッグ1 毎回ビルドして配布することなく、本番環境でこれらの通知をテストし、次の手順に従います。

  1. ディストリビューションプロビジョニングプロファイルを作成してインストールします。
  2. デバッグの代わりにリリース構成を使用して新しいスキームを作成し(手順については投稿の後半を参照)、それを選択します。
  3. アプリのターゲットビルド設定で、リリース構成用にディストリビューションプロファイルが選択されていることを確認します。
  4. ロックンロール!

新しいスキームを作成する方法

  1. 左隅にあるアプリの名前をクリックします。

    enter image description here

  2. 「新しいスキーム...」を選択して名前を付け、

  3. 次に、このメニューをもう一度開いて編集し、[スキームの編集...]を選択します。
  4. 「ビルド構成」の下の「リリース」を選択します。

    enter image description here

  5. 選択すると、左上隅に表示され、完了です。

1:ディストリビューションもアドホックプロビジョニングもデバッグに使用できません。 このスレッド を参照してください。

5
Bigood