0

興味深い問題があります...(少なくとも私にとっては)

自動更新サブスクリプションを使用するアプリを開発しました。私が設定した方法では、アプリはサブスクリプションの領収書を保存し、サブスクリプションを確認する必要があるたびに、アプリは領収書情報をサーバーに送信し、領収書がまだ有効であることを確認します。

私のアプリには、「testMode」というアプリ全体の定数があります。とりわけ、これにより、アプリはサンドボックスまたは生産フラグのいずれかを使用してサーバーにクエリを実行します。したがって、アプリをテスト モードでテストしている場合、アプリはサンドボックスの Apple サーバーをチェックするサーバー上のファイルを照会します。アプリがテスト モードでない場合 (Apple に送信する場合など)、サーバー上の運用ファイルにクエリを実行し、Apple の運用サーバーに対してデータをチェックします。

サブスクライブ時にエラーが発生したため、アプリが拒否されました。そのエラーは 21007 で、サンドボックス レシートが本番検証サーバーに送信されたことを意味します。

私の質問は次のとおりです: Apple テスターがサンドボックス環境を使用している場合、実稼働サーバー検証を使用するアプリをどのように提出できますか?

4

1 に答える 1

0

同様の問題に遭遇しました。これを処理する最良の方法は次のとおりです。

サーバーがアプリから新しい領収書を受け取るたびに、まず本番サーバーでそれを確認します。次に、エラー 21007 が発生した場合は、サンドボックス サーバーで同じ受信を試してください。これは私がしていることであり、うまく機能しています。Apple はこれを推奨する必要がありますが、そうではありません。

このメソッドを使用すると、アプリで testMode を取り除くことができるはずです (他の目的で使用しない限り)。

于 2013-03-06T10:56:07.127 に答える