iPhone - проверка покупки в приложении на предмет сбоев - PullRequest
1 голос
/ 17 июля 2011

Apple заявляет, что все приложения, использующие внутриигровые покупки, должны поставить это

[[SKPaymentQueue defaultQueue] addTransactionObserver:self.observer];

в начале приложения для обработки любой успешной продажи, если по какой-то причине устройство не получило подтверждение на выпуск контента.

Я пытаюсь проверить это, пытаюсь позвонить по телефону, когда он собирается завершить транзакцию, выйти из приложения или остановить Xcode до завершения транзакции, но по какой-то причине, даже когда я завершаю Xcode, iOS продолжает обработать транзакцию, и приложение никогда не получит SKPaymentTransactionStateRestored. Приложение всегда получает SKPaymentTransactionStatePurchased и, как представляется, защищено от сбоев (возможно, новая iOS 4 справляется с этим лучше, чем 3.2, когда был выпущен StoreKit).

Мой вопрос: знаете ли вы, ребята, какую-нибудь ситуацию, которую я могу создать здесь, чтобы сгенерировать ошибку и получить SKPaymentTransactionStateRestored при запуске приложения? Мне нужно проверить, хорошо ли работает приложение для такой ситуации.

спасибо

1 Ответ

2 голосов
/ 17 июля 2011

SKPaymentTransactionStateRestored только для того, когда вы звоните restoreCompletedTransactions (чтобы пользователь мог восстановить свои покупки в приложении на новом устройстве).Если вы выйдете из приложения без вызова finishTransaction:, транзакция останется в очереди, и вы снова получите SKPaymentTransactionStatePurchased.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...