私は iOS 7 で Apple の「グランド ユニファイド レシート」を実装しています。これにより、アプリは検証と検証のために Apple のサーバーに連絡することなく、アプリの購入レシートをローカルで確認できます。ユーザーがアプリに領収書を保存している場合、これはうまく機能します。アプリに領収書がない場合のベスト プラクティスは、アプリに領収書を更新するように要求することです。
SKReceiptRefreshRequest *request = [[SKReceiptRefreshRequest alloc] init];
[request setDelegate:self];
[request start];
問題は、このコードを呼び出すと、ユーザーは自分の Apple ID でログインするように求められることです。これが常に発生するのか、ユーザーのアプリストアへのログインがタイムアウトした場合にのみ発生するのか、100% 確信はありません。本当に必要でない限り、ユーザーに Apple ID のログイン画面を表示したくありません。Apple ID パスワードの入力を求められる理由をユーザーに示す表示を表示したいと思いますが、実際にパスワードの入力が求められる場合に限られます。パスワードを入力する必要がない場合は、シームレスで非表示のプロセスにしたいと考えています。続行するための最良の方法は何ですか? ユーザーがアプリストアにサインインする必要があるかどうかを確認するのが最善の方法だと思いますが、それが可能かどうかはわかりません.