Для тех, кто застрял как я.
Действительно, вам нужно объявить класс (например, PurchaseHelper) для импорта StoreKit с SKProductsRequestDelegate и SKPaymentTransactionObserver расширений внутри AppDelegate.
Затем, если пользователь выкупает промо-код в App Store и открывает ваше приложение, вызывается функция ' updatedTransactions ', и это единственный раз, когда вы можете сделать это.что-то с приобретенным продуктом.
То, что я сделал, - сохранил info /actionId в UserDefaults , поэтому на главном экране пользователь получает предупреждение типа «Вы выкупили промо-код. Выберите свойв избранном месте и нажмите «Купить», чтобы получить его бесплатно ».
Конечно, лучшим решением будет включить продукт прямо в AppDelegate.Если ваш промо-код дает пользователю 100 $ (расходные материалы), то вы можете просто добавить его (но все еще остается вопрос, если он вошел в систему).
Если вам известны более эффективные решения, скажите, пожалуйста.