As an additional note, the documentation is not compatible with the types of purchases and their storage in the receipt - see my answer to this question.
Receipt is updated on the server side when automatic updating is ticking - you can confirm this by checking the call using the validateReceipt method on the server side.
UPDATE: Seeing that you are using RMStore, I made fun of something so that I can look at the behavior.
It seems to me that updating the client side updated. My scenario: monthly to monthly subscription (so 5 minutes of updates in the sandbox). I put the diagnostic code in viewDidLoad :
RMAppReceipt *receipt = [RMAppReceipt bundleReceipt]; if (receipt != nil) { NSDateFormatter* localDateTime = [[NSDateFormatter alloc] init]; [localDateTime setTimeZone:[NSTimeZone timeZoneWithName:@"PST"]]; [localDateTime setDateFormat:@"yyyy.MM.dd HH:mm:ss zzz"]; for (RMAppReceiptIAP* purchase in receipt.inAppPurchases) { NSString* cancellationDate = nil; if (purchase.cancellationDate) { cancellationDate = [localDateTime stringFromDate:purchase.cancellationDate]; } NSLog(@"Transaction: %@: product %@, original purchase date: %@, expiration date: %@, cancellation date: %@", purchase.originalTransactionIdentifier, purchase.productIdentifier, [localDateTime stringFromDate:purchase.originalPurchaseDate], [localDateTime stringFromDate:purchase.subscriptionExpirationDate], cancellationDate); }
I also set a breakpoint in RMStore paymentQueue:updatedTransactions: to find out if the queue is updated with subsequent AR purchases.
Then I bought one month of my test product, checked the transaction, and then left the application.
During subsequent recalls of the application at 5-minute intervals, I saw that the breakpoint in the SKPaymentTransactionObserver method was deleted using the transactionSate SKPaymentTransactionStatePurchased . The magazine showed consecutive additions of purchases (only the latest version):
2015-05-27 14:27:32.828 StoreKitSandbox[5803:1054853] Transaction: 1000000156919353: product com.foo.StoreKitSandbox.1_month_autorenew_foo, original purchase date: 2015.05.27 14:02:59 GMT-7, expiration date: 2015.05.27 14:07:58 GMT-7, cancellation date: (null) 2015-05-27 14:27:33.350 StoreKitSandbox[5803:1054853] Transaction: 1000000156919353: product com.foo.StoreKitSandbox.1_month_autorenew_foo, original purchase date: 2015.05.27 14:06:02 GMT-7, expiration date: 2015.05.27 14:12:58 GMT-7, cancellation date: (null) 2015-05-27 14:27:33.774 StoreKitSandbox[5803:1054853] Transaction: 1000000156919353: product com.foo.StoreKitSandbox.1_month_autorenew_foo, original purchase date: 2015.05.27 14:11:07 GMT-7, expiration date: 2015.05.27 14:17:58 GMT-7, cancellation date: (null) 2015-05-27 14:27:34.174 StoreKitSandbox[5803:1054853] Transaction: 1000000156919353: product com.foo.StoreKitSandbox.1_month_autorenew_foo, original purchase date: 2015.05.27 14:16:00 GMT-7, expiration date: 2015.05.27 14:22:58 GMT-7, cancellation date: (null) 2015-05-27 14:27:34.637 StoreKitSandbox[5803:1054853] Transaction: 1000000156919353: product com.foo.StoreKitSandbox.1_month_autorenew_foo, original purchase date: 2015.05.27 14:21:04 GMT-7, expiration date: 2015.05.27 14:27:58 GMT-7, cancellation date: (null) 2015-05-27 14:27:35.069 StoreKitSandbox[5803:1054853] Transaction: 1000000156919353: product com.foo.StoreKitSandbox.1_month_autorenew_foo, original purchase date: 2015.05.27 14:26:15 GMT-7, expiration date: 2015.05.27 14:32:58 GMT-7, cancellation date: (null)
Can you reproduce this diagnostic approach?