Подтвердить что ты не робот

Error Domain = SKErrorDomain Code = 2 "Не удается подключиться к iTunes Store" UserInfo = 0x6083900 {NSLocalizedDescription = Не удается подключиться к iTunes Store}

Я пытаюсь проверить свои покупки в приложении, используя тестовую учетную запись. В первый раз, когда я пытаюсь приобрести автоматическую возобновляемую подписку в приложении, все идет гладко, нет ошибок и транзакция завершена, как и ожидалось, при условии, что состояние транзакции обновлено до "SKPaymentTransactionStatePurchased". Но, когда я тестирую сценарий пользователя, пытающегося снова приобрести подписку, я продолжаю получать вышеуказанную ошибку. Несмотря на то, что в структуре комплекта хранилища отображается диалоговое окно с сообщением о том, что пользователь уже подписан, мой наблюдатель видит, что транзакция не удалась в состоянии (SKPaymentTransactionStateFailed).

В документации storekit четко сказано "Если пользователь пытается приобрести неиспользованный продукт или возобновляемую подписку, которую они уже приобрели, ваше приложение получает обычную транзакцию для этого элемента, а не транзакцию восстановления. Однако пользователь не взимает плату за этот продукт. эти транзакции идентичны транзакциям исходной транзакции". В моем случае здесь я продолжаю считать состояние транзакции "неудачным", когда снова сделаю покупку.

Любые идеи? Это находится в тестовой среде песочницы.

4b9b3361

Ответ 1

Если вы выходите из приложения магазина приложений, похоже, что он работает при покупке снова. Но проблема сохраняется, если ваш пользователь дважды пытается купить тот же продукт.

Ответ 2

Это ожидаемое поведение. Вы по-прежнему получаете транзакцию, она просто отмечает ее в неудавшемся состоянии, потому что она не представляет собой новую успешную покупку. Выкуп подписки, на которую они уже подписываются (предположительно, чтобы восстановить покупку после новой установки) - это не путешествие, которое вы должны поощрять своих пользователей, они должны быть направлены на функцию восстановления покупок.

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

Ответ 3

Я получал это, когда серверы Sandbox были опущены и/или сломаны. Зайдите на форум разработчиков Apple, чтобы узнать, получает ли кто-то еще одно и то же.

[Требуется разработчик] http://devforums.apple.com/community/ios/integration/storekit