Приложение 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.