Приложение ios всегда просит меня войти в iTunes Store

Я разрабатываю приложение ios с функцией IAP. Это работает хорошо. Но сегодня у меня возникла странная проблема. Он всегда показывает мне сообщение, чтобы попросить меня "Войти в iTunes Store" по некоторым причинам. Вот скриншот:

Он всегда показывает это каждый раз, когда я запускаю приложение или возобновляю его из фона. Он даже показывает это после удаления и повторной установки приложения. Когда я устанавливаю точки останова в своем исходном коде. Никаких транзакций, обратных вызовов делегатов платежей нет. Может ли кто-нибудь сказать мне, в чем причина? Это может быть проблема Apple IAP Sandbox? (Я запускаю одно и то же приложение на других устройствах без каких-либо проблем. Я могу купить, восстановить в Sandbox.)

enter image description here

Ответы

Ответ 1

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

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

-(void)paymentQueue:(SKPaymentQueue *)queue updatedTransactions:(NSArray *)transactions 
{
   foreach(SKPaymentTransaction *tr in transactions) [queue finishTransaction:tr];
}

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

Надеюсь, что это поможет.

Ответ 2

Я пробовал несколько вещей:

  • call finishTransaction для всех транзакций в очереди, как объясняется mpramat (в моем случае массив был пуст)
  • Перезагрузите iDevice
  • Удалить тестовую учетную запись в iTunes Connect.

Наконец, единственное, что удивительно сработало для меня, - это удалить приложение в iDevice, а затем переустановить его через XCode.