Решение довольно простое и объяснено на сессии 308 WWDC 2012 (видео доступно зарегистрированным разработчикам). Сессия была связана с подписками, но вы можете расширить ее для покупок приложений.
Что происходит, когда вы разрабатываете жесткий код своего приложения для проверки чека с помощью песочницы. Затем вы отправляете приложение для просмотра, вы явно жестко закодировали свое приложение, чтобы проверить получение с производственным сервером.
Но ничто не мешает вам делать проверку в два этапа:
- всегда подтверждать получение с сервером производства первых, это будет претендовать на 99% от вашего приложения жизни. Если квитанция подтверждена, вы закончили.
- Если предыдущая проверка не прошла, просто подтвердите получение с помощью сервера песочницы. Это должно охватывать ваши потребности в области развития, и, конечно же, поддельные квитанции также не подтвердятся.
Кстати, и это официально указано в документации ТОЛЬКО для подписки, если вы попытаетесь проверить получение почтовой программы на производственном сервере, вы получите конкретный код состояния; существует еще один код состояния, который охватывает случай получения продукции, подтвержденный сервером песочницы. Во всех случаях два мира, песочница и производство всегда разделяются.
Не забывайте также, что с iOS7 был добавлен новый безопасный способ управления проверкой квитанции непосредственно с устройства: на самом деле обратите внимание на то, что проверка чека напрямую от клиента (который вы не полностью контролируете, например, с помощью джейлбрейковых устройств) менее надежна, чем проверка подлинности, выполняемая через сервер, которым вы управляете.
Спасибо за ваш ответ. Да, я предположил, что вы жестко закодировали приложение для проверки получения с производственным сервером, но я читал комментарии от людей, говорящих, что их приложение было отклонено после того, как рецензенты AppStore протестировали при покупке приложений с помощью песочницы. Во всяком случае, для моего первого релиза я решил удалить валидацию, так как хочу получить ее в прямом эфире, а затем рассмотрю метод iOS 7, который вы укажете для следующей версии. – fxfuture