RMStore
アプリの起動時に領収書の検証を行うために使用しています。iPhone で App Store にログインし、アプリで購入すると、すべて問題なく動作します。起動時にレシートの更新をテストすることにしたとき、App Store からログアウトすることにしました。アプリを起動すると、アプリのデリゲートに次のコードがあります (テスト目的のみ)。
RMAppReceipt *receipt = [RMAppReceipt bundleReceipt];
DLog(@"receipt.inAppPurchases: %@", receipt.inAppPurchases);
次に、すべての製品 ID が存在することがわかります。
[AppDelegate application:didFinishLaunchingWithOptions:] [Line 61] receipt.inAppPurchases: (
"<RMAppReceiptIAP: 0x12753f230>",
"<RMAppReceiptIAP: 0x1276485c0>",
"<RMAppReceiptIAP: 0x127647a90>",
"<RMAppReceiptIAP: 0x12764e490>",
"<RMAppReceiptIAP: 0x127645dc0>",
"<RMAppReceiptIAP: 0x12764eb20>",
すべての がRMAppReceiptIAP
存在するのはなぜですか? 私はログインしていません。理論的には、RMStore は私について何も知らないはずです。元の購入者としてログインすると、これらRMAppReceiptIAP
はアプリの起動時にまだ存在しています。これは理にかなっています。最後に、アプリから製品を購入したことがないユーザーとして App Store にログインすると、RMAppReceiptIAP
は存在しません (これは良いことです)。しかし、アカウントから再度ログアウトしてアプリを再起動すると、 2回目はありませんRMAppReceiptIAP
。レシートが一時的にキャッシュされているようです。おそらく私はドキュメントで何かを見逃しましたか?RMAppReceiptIAP
購入者がログアウトした後でも が表示されるのに、新しいユーザーがログインして再度ログアウトした後には表示されない理由を説明できますか?
ありがとうございました