У меня есть автоматически продлеваемая подписка. Также у меня есть следующий код для покупки:
SKProduct* productToPurchase = #create product logic#;
SKPayment* payment = [SKPayment paymentWithProduct:productToPurchase];
[[SKPaymentQueue defaultQueue] addTransactionObserver:observer];
[[SKPaymentQueue defaultQueue] addPayment:payment];
Итак, покупка оригинальной подписки — это нормально. После этого я закрываю свое приложение и жду в автономном режиме, пока не произойдет хотя бы один из периодов автоматического обновления. Я запускаю свое приложение, и я ожидаю, что получу обратный вызов о новой транзакции здесь:
- (void)paymentQueue:(SKPaymentQueue*)queue updatedTransactions:(NSArray*)transactions
Но ничего не происходит. Я ничего не получаю об этом автономном автопродлении. Обратите внимание, что я также добавляю наблюдателя как можно скорее:
- (BOOL)application:(UIApplication*)application didFinishLaunchingWithOptions:(NSDictionary*)options {
...
[[SKPaymentQueue defaultQueue] addTransactionObserver:observer];
...
}
Итак, что здесь может быть не так? Или есть более правильные способы понять, продлилась ли подписка?
Большое спасибо! Серж
auto refreshRequest = [[SKReceiptRefreshRequest alloc] initWithReceiptProperties:nil]; [refreshRequest setDelegate:observer]; [refreshRequest start];
но это требует, чтобы пользователь вводил пароль для своего Apple ID при каждом запуске приложения, это плохо - person Serge Manjukhin   schedule 10.03.2017