У меня странное поведение с отменой пользователем в Покупке приложения (среда песочницы), когда приложение находится в фоновом режиме и пользователь еще не вошел в магазин:
Процесс выглядит следующим образом:
[[SKPaymentQueue defaultQueue] addPayment: payment];
- (void) paymentQueue: (SKPaymentQueue *) queue updatedTransactions: (NSArray *) transaction
, но не получает. TX все еще находится в государственной закупке. Этот процесс отличается, если тестовый пользователь уже вошел в систему в магазине. В этом случае описанный выше процесс работает должным образом.
Еще одно замечание : После описанных выше шагов я фактически покупаю еще один элемент в приложении (включая вход в магазин приложений). После этого я отправил приложение в фоновый режим и повторно активировал его, и оно обработает ранее отсутствующую отмену транзакции.
Заключение: Пользователь, отменяющий транзакцию платежа, когда приложение работает в фоновом режиме и не вошел в систему, приводит к поздней доставке обратного вызова storekit. Доставка осуществляется после того, как пользователь фактически вошел в магазин приложений, и процесс PaymentQueue запускается повторной активацией приложения.
Такое поведение кажется неправильным, и если оно действительно таково в реальной среде , я может считать это ошибкой Storekit. Кто-то испытал такое же поведение или может указать что-то, чтобы предотвратить "зависание" tx в состоянии покупки?
Спасибо, Marcus