Reputation: 2694
I can use the receipt obtained by appStoreReceiptURL to retrieve the purchase date of non-renewing subscription. For non-renewing subscription, from the purchase date I could calculate the expiration date.
But when I try to restore using appStoreReceiptURL. I found that it returns nil on devices that did not make purchase even signing in with the same Apple ID.
Using
[[SKPaymentQueue defaultQueue] restoreCompletedTransactions];
cannot update the receipts in appStoreReceiptURL. Did I do anything wrong here? Or is it just not possible to restore the receipts this way?
Thanks
Upvotes: 2
Views: 1560
Reputation: 1530
You cannot restore the transactions in the way you are trying as they are consumables, and consumables have a finite life.
However, you could parse the receipt, and calculate the subscription period from this.
The receipt will be in the main bundle, but can be refreshed by using
recreq = [[SKReceiptRefreshRequest alloc] init];
[recreq setDelegate:self];
[recreq start];
Upvotes: 2