Согласно документации Apple ...
В течение 24 часов до истечения срока действия подписки App Store пытается автоматически продлить ее. App Store делает несколько попыток автоматически продлить подписку в течение определенного периода времени, но в конечном итоге останавливается, если неудачных попыток слишком много.
Я запускаю сценарий, который определяет, истек ли срок подписки, отправляя квитанцию в Apple, а затем проверяю ответ, чтобы узнать, возобновился ли он. Если это не так, и текущая дата истечения срока действия подписки наступает до того момента, когда я запускаю скрипт, я принимаю это как истекшую подписку, поскольку предполагаю, что она была бы обновлена в предыдущие 24 часа (или эквивалент незадолго до этого в песочнице. среда).
В песочнице я вижу поведение, при котором подписку можно продлить по истечении срока ее действия - я помечаю ее как просроченную, а затем при следующем запуске в ответе есть обновление.
Например. Срок действия подписки истекает «2017-02-08T15: 32: 41Z», поэтому я ожидаю, что Apple покажет обновление до этого времени. Однако это не так, поэтому я помечаю как просроченный. При следующем запуске скрипта появляется обновление с датой истечения срока «2017-02-08T15: 39: 55Z», которая превышает 7 минут после предыдущей даты истечения срока действия, что означает, что обновление произошло через 2 минуты после предыдущей даты истечения срока. (с учетом 5-минутной подписки в песочнице). Примеров тому множество.
У меня вопрос: как мне учитывать такое поведение в производственной среде? Это бывает? Должен ли я действовать так, как будто срок подписки истек, учитывая, что срок истечения истек? Или мне следует выделить больше времени, поскольку поведение песочницы противоречит документации.