私はアプリ内購入の実装に取り組んでいますが、タイムアウトメソッドの使用に本当に悩んでいます。ストアから製品をロードしているときにタイムアウトしても問題ないようです。しかし、私の懸念は、購入時にタイムアウトを使用することです。タイムアウトの一環として、すべての処理を停止する必要があると思います。特に支払いが関係しているため、これは危険な場合があると思います。しかし、タイムアウトがないと、ユーザーが無期限にハングしたままになる可能性があります。または、処理を停止しないタイムアウトを使用すると、ユーザーは、プロセスがまだハングしていることを知らずにプロセスを再試行できます。iOSでこの機能を正常に実装した人から、コーディングの知恵をコーディングするためのベストプラクティスの言葉をいただければ幸いです。
いくつかのメモを追加するには:私はMKStoreKitを使用しています。上記の質問を書いたとき、私はそれを非シングルトンにしました(タイムアウトの一部として、ストアを無効にしていたので、それは悪い考えだと判断しました)。現在、ストアはシングルトンであり、インスタンス化されると常に周りにあります。製品のロード時、および購入/復元時にアクティビティインジケーターを表示しています。これらのアクションから受信した通知は、アクティビティインジケーターを停止します。
これまでのところすべて問題なく動作していますが、実装した人からは、通知が届かない、または長い間届かないことがよくあるのではないかと思います。基本的に、通知を受け取ったとしても、StoreKitプロセスにタイムアウトタイマーを実装する必要があるかどうかを判断しようとしています。