Я сейчас проверяю покупки внутри приложения в моем приложении.Я столкнулся с проблемой, когда пользователь покупает 1-месячную подписку (которая длится 3 минуты в песочнице), а затем через 3 минуты мое приложение блокирует расширенные функции, если приложение открыто и активно используется.Я решаю, нужно ли разблокировать премиум-функции, получая дату окончания подписки и сравнивая ее с текущим моментом.Этого не произойдет, если я перезапущу приложение, потому что затем StoreKit завершает ожидающие транзакции обновления в didFinishLaunchingWithOptions .Да, переменная isPremium проверяет дату истечения каждый раз, когда к ней обращаются через геттер.Стоит ли определять состояние isPremium один раз в didFinishLaunchingWithOptions после завершения ожидающих транзакций?
Но что, если приложение не "выгружается" из памяти в течение длительного времени?Тогда isPremium будет истинным, пока приложение не перезапустится.
Может быть, я смогу поместить полные транзакции StoreKit в applicationDidBecomeActive ?Хотя в каждом руководстве говорится, что это должно быть в didFinishLaunchingWithOptions .Или, может быть, у меня есть еще один недостаток в дизайне покупок в приложении?Спасибо.