Как обнаружить кнопку "Отмена" системного всплывающего окна в ios?

Кодирую покупку в приложении для приложения, при подключении к магазину itunes отображается индикатор активности. и индикатор активности может быть остановлен, когда соединение завершится в обычном режиме, за исключением следующего:

Есть две кнопки "Отмена": 1. При выборе покупки система отобразит окно входа в магазин itunes с кнопкой "Отмена". 2. Если ввести пароль и продолжить, и если продукт был приобретен ранее, может вернуться другая кнопка "Отмена".

Поскольку анимация индикатора активности началась на шаге 1, при нажатии любой из двух кнопок "Отмена" процесс завершится, но индикатор активности продолжает вращаться, потому что я не могу поймать кнопку "Отмена".

Я пробовал и "alertView", и "actionSheet", чтобы получить buttonIndex, но они не работали, что всегда работает в настраиваемом alertView.

func alertView(View: UIAlertView!, clickedButtonAtIndex buttonIndex: Int){
    println(buttonIndex)
}

func actionSheet(actionSheet: UIActionSheet, didDismissWithButtonIndex buttonIndex: Int) {
     println(buttonIndex)
}

Любое предложение будет оценено.

1 ответ

Решение

Чтобы определить, когда покупка в приложении отменяется, вам нужно настроить SKPaymentTransactionObserver который будет уведомлен, когда транзакция изменит состояние. В частности, вам будет интересно, когда транзакция изменится на SKPaymentTransactionStateFailed состояние, вы можете отклонить индикатор активности.

Смотрите здесь для реализации target-c.

Другие вопросы по тегам