2016-04-30 5 views
2

Я тестирую новое приложение на своем устройстве, и сегодня я начал интегрировать StoreKit для покупок в приложениях.Приложение iOS запрашивает пароль при каждом запуске

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

  1. В первый раз, когда я запустил приложение, все работало, как ожидалось. Никаких проблем при завершении покупки в приложении (с моим пользователем песочницы - назовем его [email protected] -).
  2. Остановлено приложение, встроенная кнопка «Восстановить покупки». К сожалению, я забыл добавить «finishTransaction» при завершении (не уверен, что это может быть проблемой).
  3. С этого момента, каждый раз, когда я запускаю приложение, он продолжает спрашивать у меня пароль [email protected]

StoreKit начинает делать это вещество в представлении, которое не является rootView, поэтому я исключил, что я что-то неправильно литья программно ...

Итак, что я сделал ПОСЛЕ?

  1. Удалено приложение с устройства и повторной установки (после перезагрузки)
  2. Удаленный пользователь песочница (и создал новую - скажем [email protected] -). Я успешно использовал новую учетную запись, чтобы получить новый IAP.
  3. Очищенные настройки на устройстве
  4. Исключен IAP из ITunes Connect

Проблема по-прежнему существует. Имейте в виду, что пароль указан для [email protected] (самый первый тестовый счет!)

+0

Перейдите в Настройки на устройстве и попробуйте войти в систему как testuser1 в разделе «ITunes & App Store». Возможно, вам придется повторно создать testuser1 на iTunesConnect. После того, как вы вошли в систему как testuser1, выйдите из системы. – GlennRay

+0

@GlennRay это невозможно. iTunes Connect сообщает, что идентификатор Apple с этим письмом уже существует ... Однако я вошел в систему с моей учетной записью тестового пользователя, но ничего не изменилось. – mrgingles

ответ

3

Остановлено приложение, встроенная кнопка «Восстановить покупки». К сожалению, я забыл добавить «finishTransaction» на завершение (не уверен, что это может быть проблемой)

Это действительно проблема!

Магазин Kit всегда будет просить вас повторно аутентифицировать, если в очереди остались транзакции. Чтобы избавиться от этих транзакций, просто позвоните:

for transaction in SKPaymentQueue.defaultQueue().transactions { 
    SKPaymentQueue.defaultQueue().finishTransaction(transaction) 
} 
Смежные вопросы