Подписки ios не обновляются автоматически в песочнице
Я включил автоматическое продление подписки в моем приложении. Согласно документации, это должно автоматически обновляться каждые несколько минут до шести раз в день. Но это не происходит для моего приложения.
Я ищу дату истечения срока подписки в квитанции приложения, и это работает в первый раз, но потом не работает. Чек приложения не обновляется автоматически в среде песочницы? Насколько я понимаю, так и должно быть.
1 ответ
Для тех, кто имеет дело с этой проблемой в 2019 году или позже.
Я также испытал подписки, которые не обновляются автоматически.
В моем случае автообновления перестали работать после покупки 6 раз в течение 8 часов.
Подробности:
Однолетняя подписка в Песочнице длится 5 минут и автоматически продлевается 6 раз (вся покупка истекает через 30 минут). После этого вы должны купить снова, и тот же процесс начинается снова.
Для автоматических продлений, однако, существует ограничение на покупку 6 раз за каждые 8 часов.
Это ограничение для каждого тестового пользователя в 8 часов, так что вы можете просто использовать новых тестовых пользователей, чтобы обойти это.
Под
Настройки -> iTunes & App Store
теперь появилась новая опция для учетной записи песочницы, где вы можете выйти и войти для нового тестового пользователя. Это заняло у меня много времени, чтобы понять.
Следующие могут быть использованы для получения квитанции от Apple
static func getReceipt() -> String? {
guard let url = Bundle.main.appStoreReceiptURL,
let _ = try? Data(contentsOf: url) else {
print("no receipt exists")
return nil
}
do {
let receipt = try Data(contentsOf: url)
print("receipt-data: \(receipt.base64EncodedString(options:[]))")
return receipt.base64EncodedString(options: [])
}
catch {
print("catch error")
return nil
}
}
Вместо того, чтобы пытаться каждый раз "собирать и запускать" приложение, попробуйте снова открыть приложение, открыв его непосредственно на устройстве. Я нашел способ, которым я могу обновить квитанции подписки, основанные на предыдущей квитанции песочницы.
Похоже, что каждый раз, когда вы "строите и запускаете" через XCode, все ожидающие продления подписки сбрасываются. Потенциальная перестройка вашего приложения является причиной сброса автоматического продления подписки.