Как долго набор для хранения будет хранить незавершенные транзакции?

Я работаю над этим приложением с включенной функцией покупки в приложении. Счастливый путь пройден, все нормально, пытаюсь проработать не счастливый путь.

Проще говоря, покупка привязана к серверному компоненту. При покупке, когда транзакция находится в состоянии «Куплено», я должен выйти на сервер, который активирует учетную запись пользователя. Когда запрос возвращается, я очищаю некоторые вещи и, в конце концов, вызываю -finishTransaction :в SKPaymentQueue.

Несчастный путь - это в значительной степени, когда вызов сервера терпит неудачу по какой-либо причине. Сеть недоступна, время ожидания сети, пользователь закрыл приложение сразу после его покупки, и незадолго до того, как я смог позвонить на сервер, вы называете это.

Мои тесты в симуляторе 5.1 с учетной записью песочницы показывают мне, что незавершенная транзакция Purchased вернется в очередь при следующем запуске, и мой делегат будет правильно вызван с ней. Но через некоторое время, скажем, 5 минут, бум, транзакция прошла. Учитывая общую стабильность учетных записей песочницы, я готов назвать это реализацией симулятора, но трудно сказать.

Каков правильный способ решения этой проблемы?

Дополнительный вопрос :когда Apple действительно взимает плату? Похоже, это должно быть ПОСЛЕ приложения под названием -finishTransaction :, но я нигде не смог найти никаких доказательств этого.

Спасибо, / кра

ОБНОВЛЕНИЕ :тестирование на физическом устройстве, почти час, а транзакция все еще есть. Похоже, исчезновение транзакций — это симулятор.

6
задан kra 9 July 2012 в 22:14
поделиться