iOS SKStore:商品のキャッシュ結果

SKStoreはAppleのサーバーから製品のリストを照会するのに数秒かかります。現在、リクエストが完了するまで、アプリ内でアプリ内購入はできません。しかし、私は購入する準備ができている顧客を捨てることを望んでいません。

didReceiveResponseの結果を保存することは可能ですか?その後、アプリケーションが再起動されたときにそれらを読み込むことができました(didReceiveResponseが来たら、新しいデータで上書きします)。

NSArrayをNSUserDefaultsに格納しようとしましたが、うまくいかないようです。

0
NSUserDefaults アプローチがうまくいかなかった理由について、より具体的に言えば、より良い回答が得られます。私はIAPについて具体的には分かりませんが、あなたのアプローチは少なくとも私にとっては間違っているようには見えません。
追加された 著者 Ryan Wersal,
「なぜ」と言うのは難しい。それはちょうどデータをロードしていないようです。私はアプローチを変更し、配列全体の代わりに個々の文字列を保存しました。それはうまくいった。
追加された 著者 user178379,

2 答え

あなたのインターネット接続に応じて、アップルからIAP製品を検索するのにそれほど時間がかかりません。問い合わせに時間がかかる可能性のある多数のIAP製品をお持ちになる場合は、 MBProgressHUD を使用して、バックグラウンドで処理が行われていることをユーザーに示します。

1
追加された
ロングは相対的です。 WiFiがなければ(そして高速ネットワークのない小さな町では)私のiPhoneは購入するまで約10秒(アプリ起動後)にかかります。
追加された 著者 user178379,

私はアプローチを変更し、配列全体の代わりに個々の文字列を保存しました。それはうまくいった。ユーザーはアプリを起動した直後に購入できるようになりました。

0
追加された