Ошибка приложения при осуществлении покупки

swift
spritekit

#1

Всем привет!
Продолжаю мучаться со встроенными покупками. Изредка проскакивает такой момент, что при нажатии на кнопку совершения встроенной покупки, приложение падает и выделяет данную строку кода:

SKPaymentQueue.default().add(pay as SKPayment)

В чем может заключаться проблема?


#3

Вы бы хоть ошибку сюда скопировали.


#4

В том то и дело что ошибка не показывается. Пишет только (lldb) и все.


#5

После перемещения к другому VC, затем возврату обратно и нажатию на кнопку? Если так, то

override func viewWillDisappear(_ animated: Bool) {
    SKPaymentQueue.default().remove(self)
}

#6

Нет, к сожалению, не к другому VC. К другой сцене типа SKScene. Но принцип тот же.
Перехожу на другие сцены, а когда возвращаюсь обратно, то при нажатии на кнопку приложение вылетает. Можно сделать 1 всего переход, а можно хоть 10. Ошибка вылетает не всегда…


#7

Благодарю Ookey за оказанную помощь. Совет очень помог.
Только отличие в том, что у меня не VC, а SKScene.
Сделал метод, который удаляет транзакцию.

 func transactionRemove()
    {
        SKPaymentQueue.default().remove(self)
    }

И данный метод просто вызывается при переходе на другую сцену, вот и все.

transactionRemove()

Вылетов больше замечено не было.


#8

Подскажите, пожалуйста, у Вас non renewable subscription?


#9

Нет у меня не подписка.
Какие покупки ответил в другом Вашем вопросе.