Ошибка транзакции Store Kit

Я пытаюсь протестировать транзакцию Store Kit с помощью iPhone 3.0 SDK. Я основываю свой код на примере кода в Руководстве по программированию Store Kit, но я продолжаю получать неудавшиеся транзакции (статус: SKPaymentTransactionStateFailed). Однако свойство error транзакции равно нулю, так что это не проливает света на ситуацию.

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

«Вы уже приобрели это, но оно еще не было загружено. Нажмите« ОК », чтобы загрузить его сейчас».

Когда я нажимаю «ОК», ничего не происходит. Мой transactionObserver больше не получает сообщений, отправленных ему.


person Community    schedule 02.09.2009    source источник


Ответы (5)


У меня была точно такая же проблема с расходными материалами. Оказывается, ответ был правильным. Мой товарищ по команде случайно удалил мою тестовую учетную запись. Все нормально работает после того, как создал новую.

person LGY    schedule 21.09.2010
comment
У меня была аналогичная проблема, и создание новой тестовой учетной записи исправило ее. Спасибо - person Ali Nadalizadeh; 07.03.2011

Как оказалось, моя тестовая учетная запись была удалена из iTunes Connect (хотя она позволяла мне войти в систему). Я создал новую тестовую учетную запись, и она начала работать. Я считаю, что сообщение «Нажмите ОК, чтобы загрузить сейчас» на самом деле было попыткой повторно инициировать транзакцию, которая затем снова завершилась ошибкой.

person Community    schedule 03.09.2009
comment
Отчеты об ошибках StoreKit - это полный кластер. отправьте отчет об ошибке по адресу: developer.apple.com/bugreporter/bugrptform.html и, может быть, станет лучше. - person Carl Coryell-Martin; 21.11.2009

У меня была именно эта проблема, оказалось, что я использовал недопустимую тестовую учетную запись (тестовая учетная запись была привязана к другой учетной записи разработчика Apple, отличной от той, к которой было привязано приложение). Проверил учетные данные тестовой учетной записи, и все было в порядке.

@wdlindmeier: Я вижу, у вас тоже было такое же решение: я бы посоветовал вам принять этот или свой собственный ответ на случай, если это кому-то поможет. :)

person Jonathan Zhan    schedule 07.09.2010

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

Когда я впервые это реализовал, я выделил SKPaymentTransactionObserver и добавил его только тогда, когда начал делать покупки. Также я удалил SKPaymentTransactionObserver, как только транзакция завершилась успешно или не удалось. Я обнаружил, что в этом случае транзакция всегда остается незавершенной, даже если я завершил транзакцию до удаления SKPaymentTransactionObserver.

Итак, мое решение состоит в том, чтобы выделить SKPaymentTransactionObserver при запуске приложения, а затем НЕ удалять его до завершения работы приложения. Тогда «незавершенная» транзакция еще должна быть правильно завершена.

Надеюсь, это сработает для вас.

person user268743    schedule 27.07.2011

Я тоже получал это. Оказывается, вы не можете тестировать покупки приложений в симуляторе!

person Paul    schedule 18.07.2012