2013-12-02 4 views
2

Вот это Репродуцировать шаги выпуска:IOS автоматически возобновляемый вопрос подписки о покупке

  1. я нажимаю кнопку «покупки» в моем приложении.
  2. Я вводил пароль Apple ID.
  3. Apple показывает диалог подтверждения покупки или нет. И я нажимаю «Да».
  4. Apple показывает диалог, в котором говорится, что у меня нет платежной информации, необходимо ее заполнить.
    (В этот момент у меня была транзакция с состоянием SKPaymentTransactionStateFailed in updatedTransactions: function)
  5. Я нажимаю «Продолжить», затем перейдите в приложение iTunes и начните заполнять мою информацию о кредитной карте.
  6. После того, как вы заполните информацию об оплате, яблоко попросит меня подтвердить покупку еще раз.
  7. Я нажимаю «подтвердить», после чего совершается покупка.
    (Обратите внимание, что он не вернулся в мое приложение автоматически.)

Вот мои вопросы:

  1. Почему этот поток не вызывать функцию обратного вызова, которые я написал, когда сделка с состояние SKPaymentTransactionStatePurchased подходит?
  2. Последний, мне нужно завершить транзакцию, когда я получаю транзакцию с состоянием SKPaymentTransactionStateFailed?
+0

Мне любопытно ответить на ваш третий вопрос. Я прочитал в учебнике, что даже если транзакция завершилась неудачно, очень важно вызвать finishTransaction, или StoreKit не будет знать, что вы закончили ее обработку, и будете продолжать доставлять транзакцию в ваше приложение каждый раз при запуске! Если кто-то может подтвердить это ... – zbMax

+0

Причина, по которой я задаю третий вопрос, заключается в том, что я не получил никаких дополнительных транзакций, даже когда я завершаю покупку. Поэтому, возможно, я закончил его, когда транзакция завершилась неудачно, поэтому он не может продолжать отправлять другие транзакции позже. – Chiakie

ответ

0
  1. По моему опыту, если вы в песочнице и просят за информацию кредитной карты, что-то не так. Не могли бы вы попытаться выйти из своего аккаунта App Store до, вы создаете/запускаете приложение? Обычно это решает для меня. Если это не сработает, попробуйте удалить приложение, а также выйти из него, прежде чем запускать приложение. Вы делаете покупки в песочнице с помощью тестового пользователя, созданного через iTunesConnect?

  2. Согласно SKPaymentTransactionObserver Protocol Reference, да, вы должны позвонить по телефону -finishTransaction: даже для SKPaymentTransactionStateFailed. Я делаю это в своих проектах без каких-либо побочных эффектов.

+0

Для Q1 я делал покупки в реальной среде с реальной учетной записью. По моему опыту, песочница не будет запрашивать информацию о кредитной карте. – Chiakie

Смежные вопросы